Frage von xXSnip3rXx, 29

Excel ErrorHandler?

Hi, ich lösche mit diesem Makro:

Sub FilterresetNamenAnschriftenPflege()

    Sheets("Namen-Anschriften Pflege").Select
    ActiveSheet.ShowAllData

End Sub

alle Aktiven Filter in der Tabelle "Namen-Anschriften Pflege"

Jedoch kommt ein Laufzeitfehler wenn es keine aktiven Filter zum löschen gibt ... wie kann ich diese Errormeldung umgehen oder in eine Selbstgeschriebene Msgbox umschreiben.

Dass z.b. nur komme "Alle Filter bereits gelöscht"

MfG Tim

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von Suboptimierer, Community-Experte für Excel, 24

Du kannst Exceptions wie folgt abfangen:

Sub FilterresetNamenAnschriftenPflege()
On Error GoTo Fehler Sheets("Namen-Anschriften Pflege").Select
ActiveSheet.ShowAllData
Exit Sub Fehler: MsgBox "Alle Filter bereits gelöscht" On Error GoTo 0
End Sub

(ungetestet)


Kommentar von xXSnip3rXx ,

Hi,

genau das habe ich gesucht. Funktioniert perfekt.

Vielen Dank :)

MfG Tim

Kommentar von Suboptimierer ,

Vielleicht noch der Hinweis, dass man, wenn es möglich ist, Fehler direkt im Quelltext, bevor er auftreten kann, abfangen sollte. Zum Beispiel sollte man, anstelle im Error-Handling das Teilen durch 0 abzufangen in der Division den Nenner auf 0 prüfen.

Deswegen halte ich auch nicht viel von der Excelfunktion WENNFEHLER, obwohl sie durchaus sehr nützlich sein kann.

In deinem Fall wäre besser:

  If ActiveSheet.AutoFilterMode Then _
    ActiveSheet.ShowAllData

oder

  If ActiveSheet.FilterMode Then _
    ActiveSheet.ShowAllData
Kommentar von xXSnip3rXx ,

Ist schon sehr gut so wie es jetzt ist :)

Danke für die Hilfe ...

habe jetzt noch 3 Msg "Boxes" hinzugefügt .. und läuft alles perfekt wie es soll und ich es mir vorgestellt habe :)

Antwort
von Britzcontrol, 14

Dummy-Antwort, damit der Fragesteller die "hilfsreichste Antort"
auszeichnen kann (sollte man machen, wenn einem geholfen wurde).

Kommentar von xXSnip3rXx ,

Mach ich ja auch immer ;) nur geht das erst nach 24h und bin jetzt erst zuhause ;) tz. thx

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten