Hallo liebe Community,
ich bin ein VBA Neuling und nutze folgenden Code, um einen Bericht zu filtern und nicht benötigte Daten zu löschen. Wobei WS1 als das entsprechende Tabellenblatt definiert ist:
1 With WS1
2 .Range("A1").AutoFilter Field:=5, Criteria1:="Client"
3 .Range("A1").AutoFilter Field:=6, Criteria1:="<>Rate"
4 .Rows(1).Hidden = True
5 .UsedRange.SpecialCells(xlCellTypeVisible).Delete
6 .Rows(1).Hidden = False
7 .AutoFilterMode = False
8 End With
9 With WS1
10 .Range("A1").AutoFilter Field:=7, Criteria1:=Array( _
11 "Internal use", "Information inquiry"), Operator:=xlFilterValues
12 .Rows(1).Hidden = True
13 .UsedRange.SpecialCells(xlCellTypeVisible).Delete
14 .Rows(1).Hidden = False
15 .AutoFilterMode = False
16 End With
Das Problem ist, dass ich eine Fehlermeldung bekomme, wenn der Filter keine Ergebnisse liefert. Bzw. nichts gelöscht werden kann:
"Laufzeitfehler '1004': Keine Zellen gefunden"
Der Fehler bezieht sich auf Zeile 5 bzw. 13.
Meine Frage: Wie kann ich dafür sorgen, dass das Skript weiter ausgeführt wird auch wenn keine Zeilen zu löschen sind?
Danke für die Hilfe
|