|    | 
     こんばんは 
 
> 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 
 
とするといいと思います。 
 
以上、全て結果から推測・・・・でした。 
 
 | 
     
    
   |