|
こんばんは
> Set r1 = Range("A1:A700").SpecialCells(xlCellTypeBlanks)
このコードでは「A1:A700」のうちUsedRngeが評価されます。
>色3がA1〜A3とA7〜A9に付きます。
9行目までがUsedRangeという事です。
>更に再度マクロを実行するとA4〜A9に色3が付きます
行を削除してもUsedRangeの情報は残っています。
>Set r1 = Range("A1:A" & Cells(65536, 1).End(xlUp).Row).SpecialCells(xlCellTypeBlanks)
は実行する毎に最終データの有る行(一度目はA6、二度目はA3になってr1はNothing)
Sub test()
Dim r1 As Range
On Error Resume Next 'エラースキップ
Set r1 = Range("A1:A700").SpecialCells(xlCellTypeBlanks)
On Error GoTo 0 'エラーが出たらストップ
'
If r1 Is Nothing Then
MsgBox "空白なし", vbInformation
Else
r1.Interior.ColorIndex = 5
MsgBox "削除"
r1.EntireRow.Delete '行全体を削除
Set r1 = Nothing
ActiveSheet.UsedRange 'を入れるとUsedRangeが再評価される
End If
End Sub
とするといいと思います。
以上、全て結果から推測・・・・でした。
|
|