Для того, чтобы он проходил через несколько листов, вы можете использовать код, подобный этому
Sub cycle_sheets()
For Each sh In Worksheets
If sh.Name <> "Sheet2" Then
'your code to cycle through the data where instead of Sheets("SheetX"). you use sh. like this
sh.Rows(x).EntireRow.Delete
End If
Next
End Sub
это будет проходить по всем рабочим листам и для всех имен, которые называются не так, как "Sheet2", будет выполнять то, что находится внутри if. Так что вам нужно только взять свой код, изменить ссылку на лист и поместить его в if.
Edit:
если вы хотите, чтобы он пропускал строки, которые не видны из-за фильтрации, вы можете проверить строку, прежде чем определить, хотите ли вы удалить ее, используя
If sh.Rows(x).Hidden = False Then