|
>横の関係(”11111”の左隣は”22222”、”333333”の隣は”444444”
>というように)は変えたくないのです。
行単位でのコピー・削除に変更してみました。
>また、18Bの“あああ”は下に移動しないようです。
理由が分かりません。
どのような条件により、セルB18を対象外とするのでしょうか?
> For i = Range("b65536").End(xlUp).Row To 1 Step -1
>の意味が良くわかりません。 b65536を基点に下から上に
>処理を行っていると思っていいでしょうか?
セルB65536 で ctrl+↑ キーを押してジャンプしたセルの行番号から
上方向にループ処理しています。
ヘルプでEndプロパティについてお調べ下さい。
これはデータの最下行を取得する定番の方法です。
−−−−−−−−−−−−−−−−−−−−−−
Sub Sample2()
Dim i As Long, s As Long, r As Long
For i = Range("B65536").End(xlUp).Row To 1 Step -1
If Cells(i, 2).Value = "あああ" And Cells(i + 1, 2).Value <> "" Then
r = i
For s = r + 1 To Range("B65536").End(xlUp).Row + 1
If Cells(s, 2).Value = "" Then
Rows(i).Copy
Rows(s).Insert xlShiftDown
Rows(i).Delete xlShiftUp
Exit For
End If
Next s
End If
Next i
End Sub
|
|