| 
    
     |  | tami さん、こんにちわ。 
 >しかしSheets("sheet2").UsedRange.ClearContentsは完全に削除でき
 >便利なのですが・・・
 >時々、一行目(時には数行目まで)だけ残して、それ以外は全て削除にこの便利なUsedRangeが使えないか?など思う時があります(余談ですが)
 InterSectメソッドで、削除していい部分とのかぶりを判定して、あったら削除します。
 Sub test()
 Dim Rmax As Long
 '
 Rmax = 3 '残す行の一番下
 With Application.ActiveSheet
 Set r1 = .Rows((Rmax + 1) & ":65536")
 Set r2 = .UsedRange
 End With
 '
 Set r3 = Application.Intersect(r1, r2)
 
 If Not r3 Is Nothing Then
 Set r3 = r3.EntireRow
 r3.Interior.ColorIndex = 5
 MsgBox "削除しますね"
 r3.Delete
 ActiveSheet.UsedRange'←これでちゃんと判定されるとは知りませんでした
 Else
 MsgBox r2.Address, vbInformation, "UsedRange"
 End If
 End Sub
 
 こんな感じです。
 
 |  |