|
▼マリモ さん:
もしかして以下のようなことですか?
A列のデータ最終行をシートのデータ最終行とみなし、
1行目から2行単位で、残す、消す、残す、消す・・・を行います。
Sub Sample1()
Dim maxRow As Long
Dim i As Long
Application.ScreenUpdating = False '処理中の画面の動きをとめる
'エクセルの最終列から上にみていって、データのある行番号を取得
'これがデータ最終行"
maxRow = Range("A" & Rows.Count).End(xlUp).Row
'もしその行が奇数行ならその下の行を(2行ずつペアで処理するので)
If maxRow Mod 2 > 0 Then maxRow = maxRow + 1
'奇数ペアなら一番下のペアは残すペア
If (maxRow \ 2) Mod 2 > 0 Then maxRow = maxRow - 2
For i = maxRow To 2 Step -4 '最終行から2ペア単位に上に向かって処理
Rows(i - 1 & ":" & i).Delete 'ペアを削除
Next
Application.ScreenUpdating = True
MsgBox "削除が終了しました"
End Sub
|
|