Public Sub Del2() Dim rg As Range, tmp As Range With Range("A:B") On Error GoTo err1 Set rg = .SpecialCells(xlCellTypeFormulas) For Each tmp In rg If tmp <> 0 Then Exit Sub Next err1: On Error GoTo 0 On Error GoTo err2 Set rg = .SpecialCells(xlCellTypeConstants) For Each tmp In rg If tmp <> 0 Then Exit Sub Next err2: Range("1:50").Delete End With End Sub -------- >>413 たぶん>>410さんは、A:B列の「すべての」セルが0または""なら 1:50行を削除したい、という意図だろうと受け取っています。 ちなみに>>412では、名前は使っていないつもりですが、 どの部分のことですか?