なかなかドンピシャなコードがweb上で見つからなかったので記録用に掲載。
Sub MultiSheetFilter_Delete_FillterFalse()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
Dim targetRange As Range
ws.Range("A1", "XFD1048576").AutoFilter Field:=2, Criteria1:="特定の値"
With ws.Range("A1").CurrentRegion
Set targetRange = .Offset(1, 0).Resize(Rows.Count - 1).SpecialCells(xlCellTypeVisible)
targetRange.Delete shift:=xlUp
ws.AutoFilterMode = False
End With
Next ws
End Sub
おそらくもっとシンプルに書けるのでしょうけど。。
ちなみに、
Set targetRange = .Offset(1, 0).Resize(Rows.Count - 1).SpecialCells(xlCellTypeVisible)
の部分の
Resize(Rows.Count - 1)
は、
Resize(.Rows.Count - 1)
とするweb記事が多かったのですが、下記環境ではエラーになったので補足します。
macOS, office365