Excel-VBA – Try Catch – Fehler
In diesem Artikel zeigen wir Ihnen, wie Sie mit VBA versuchen können, Fehler abzufangen.
In den meisten Programmiersprachen können Sie die Syntax Try…Catch…End Try verwenden, um das Auftreten von Fehlern zu verhindern. Der Code versucht buchstäblich zu laufen, und wenn er auf einen Fehler stößt, springt er in die Catch-Zeile, wo der Fehler dokumentiert und an den Benutzer zurückgegeben werden kann. VBA verwendet die Syntax Try…Catch…End Try nicht, aber wir können diese imitieren, indem wir stattdessen die Syntax On Error GoTo verwenden.
On Error GoTo
Die VBA-Anweisung On Error GoTo zwingt unseren Code dazu, zu einer bestimmten Codezeile zu wechseln, wenn ein Fehler auftritt.
Sub BlattUmbenennen ()
On Error GoTo eh
ActiveSheet.Name = "Tabelle1"
Exit Sub
eh:
MsgBox Err.Description
End Sub
Im obigen Beispiel haben wir eine Fehlerfalle eingefügt, in der wir den Code anweisen, bei Auftreten eines Fehlers zum Error Handler zu wechseln. Wir versuchen dann, das Blatt in Tabelle1 umzubenennen. Wenn wir uns z.B. in Tabelle2 befinden und versuchen, es in Tabelle1 umzubenennen, wobei Tabelle1 bereits existiert, dann tritt der Fehler auf und der Code springt zum Error-Handler.
Wenn es jedoch kein Blatt mit dem Namen Tabelle1 in der Arbeitsmappe gibt, läuft der Code einwandfrei und da ein Exit Sub VOR dem Error-Handler vorhanden ist, wird der Code in diesem nicht erreicht.