Excel VBA オートフィルターで抽出した行を一括削除

‘オートフィルタ機能を用いてY列 0か空欄 の行を削除

Dim rng As Range

With wksTarget

’21-150行までを一応範囲にしておく

Set rng = .Range(.Cells(21, 25), .Cells(150, 25))
.AutoFilterMode = False
rng.AutoFilter Field:=1, Criteria1:=”=”, Operator:=xlOr, Criteria2:=”=0″
.Activate
rng.SpecialCells(xlCellTypeVisible).EntireRow.Select
.AutoFilterMode = False
xls.Selection.EntireRow.Delete

End With

参照URL

http://officetanaka.net/excel/vba/tips/tips155d.htm

ただし、オートフィルタをかける際に選択する1行目は、抽出後も表示されているので、抽出後表示されているセルを削除するという場合、必ず削除の対象になるので、オフセットするか、もしくは、削除されてもよい行にする必要があると思われます。