VBA-Fehlerbehandlung - Anleitung zur Fehlerbehandlung in Excel VBA

Inhaltsverzeichnis

Excel VBA-Fehlerbehandlung

Wenn wir in VBA mit Codes arbeiten, können viele verschiedene Arten von Fehlern auftreten. Die Fehlerbehebung wird als Fehlerbehandlung bezeichnet. Jetzt können einige Fehler in der Syntax auftreten, die sich selbst hervorheben, aber wenn ein Fehler vorliegt Was außerhalb des Bereichs liegt oder etwas, das nicht existiert, gibt uns ein Popup für dasselbe. Es ist wichtig zu wissen, welcher Fehlercode für welchen Fehler gilt, um den Fehler im Code zu identifizieren.

In Excel VBA werden beim Ausführen eines beliebigen Satzes von Codes Fehler angezeigt. Einige dieser Fehler sind Syntaxfehler. Einige sind Fehler, die nicht ausführbar sind. Der Syntaxfehler tritt auf, wenn der Benutzer von Excel selbst rot hervorgehoben wird. Aber wenn es einen anderen Laufzeitfehler gibt, wie werden wir damit umgehen und wie wir darüber hinausgehen, werden wir in diesem Artikel behandeln.

Abgesehen von Syntaxfehlern müssen die anderen Laufzeitfehler beim Ausführen eines beliebigen Satzes von Codes behandelt werden. Lassen Sie mich zunächst ein Beispiel geben, wie der andere Laufzeitfehler auftritt. Schauen Sie sich den folgenden Code an:

Dies ist ein Beispielcode, der bei Ausführung zurückgibt, was in der msgbox-Funktion geschrieben ist. Aber wie wir sehen können, gibt es in der zweiten Zeile des Codes 4/0, was mathematisch nicht möglich ist, so dass ein Laufzeitfehler zurückgegeben wird. Lassen Sie uns den obigen Code ausführen und den Fehler sehen, den wir bekommen werden.

Dies ist der Fehler, den wir beim Ausführen des angegebenen Codes erhalten. Wie wir nun mit diesem Fehler umgehen, wird durch die Fehlerbehandlung gemacht.

Es gibt zwei Methoden zur Behandlung von Fehlern:

  1. Bei Fehler Springen und
  2. On Error Resume Next.

Erläuterung

Wie oben erläutert, treten in VBA viele Arten von Fehlern auf. Einige sind Syntax, andere Laufzeit. Syntaxfehler sind bereits in roter Farbe hervorgehoben. Siehe unten Screenshot.

Während der andere Laufzeitfehler ist. Grundsätzlich führt Excel die folgenden drei Schritte aus: Entweder wird ein Fehler angezeigt oder dieser Fehler wird ignoriert, oder es werden bestimmte Anweisungen angezeigt. Um solche Aufgaben auszuführen, müssen wir Anweisungen geben. Dies wird als Fehlerbehandlung bezeichnet.

Wie gehe ich mit Fehlern im VBA-Code um?

Beispiel 1

Nehmen wir für das erste Beispiel den ersten Code, den wir als Demonstration verwendet haben. Im obigen Beispiel haben wir gesehen, dass der Code bei der zweiten msgbox-Funktion einen Laufzeitfehler ausgibt.

Schreiben Sie nach dem Öffnen der Unterfunktion den folgenden Code:

Code:

Sub Sample () On Error Resume Next MsgBox 4/2 MsgBox 4/0 MsgBox 4/1 End Sub

Wenn wir nun den obigen Code ausführen, sehen wir, dass die Codezeile mit dem Fehler nicht ausgeführt wird. Excel überspringt diese Zeile und setzt sie in der nächsten Zeile fort.

Es gibt eine andere Methode, um den Fehler zu behandeln: VBA Goto Statement. Wir bieten Excel als Ziel an, wenn es einen Fehler findet. Anstelle des vorherigen Fehlerbehandlungscodes haben wir den folgenden Code eingefügt:

Code:

Sub Sample () On Error GoTo az MsgBox 4/2 MsgBox 4/0 MsgBox 4/1 End Sub

Wir geben Excel Az als Ziel an, zu dem wir gehen können, wenn ein Fehler gefunden wird. Schreiben Sie nun nach der msgbox einen weiteren Code wie folgt:

Code:

Sub Sample () On Error GoTo az MsgBox 4/2 MsgBox 4/0 MsgBox 4/1 Fertig: Sub beenden

Jetzt müssen wir das Ziel az als das definieren, was es tun soll, wenn Excel einen Fehler im Code findet.

Code:

Sub Sample () On Error GoTo az MsgBox 4/2 MsgBox 4/0 MsgBox 4/1 Fertig: Beenden Sub az: MsgBox "Dies ist ein Fehler" & Err.Description End Sub

Wenn wir diesen Code ausführen, wird das Ergebnis angezeigt.

Dies ist das erste Ergebnis der Nachrichtenbox. Da wir wissen, dass in der nächsten Zeile unseres Codes ein Fehler vorliegt, sehen wir uns das Ergebnis an, das Excel liefert.

Die err.description oben im Code hilft uns, genau zu zeigen, was der Fehler in unserem Code aufgetreten ist.

Beispiel 2

Wir haben gelernt, mit Fehlern in unseren Codes umzugehen. Schauen wir uns ein weiteres Beispiel für den Umgang mit Fehlern an. Betrachten Sie den folgenden Code als unser zweites Beispiel.

Wir haben einen etwas ähnlichen Fehler wie in Beispiel 1. Der Fehler ist in Zeile d = i / b. Jetzt werden wir diese Fehler mit den beiden oben erläuterten Methoden behandeln.

Schreiben Sie nach dem Öffnen der Unterfunktion den folgenden Code:

Code:

Sub Sample2 () On Error Resume Next bx Dim i As Integer, b As Integer, c As Integer, d As Integer i = 2 b = 0 c = i + b MsgBox cd = i / b MsgBox d End Sub

Now when we execute our code, we can see that it ignores the second line and just displays the value for C.

The above error handler was a resume next, and now we will use the Go to wherein we will tell we excel a destination to go when it encounters an error. Write down the following code,

Code:

Sub Sample2() On Error GoTo bx Dim i As Integer, b As Integer, c As Integer, d As Integer i = 2 b = 0 c = i + b MsgBox c d = i / b MsgBox d

The bx is a destination given when it encounters an error after msgbox D write down the following code,

Code:

Sub Sample2() On Error GoTo bx Dim i As Integer, b As Integer, c As Integer, d As Integer i = 2 b = 0 c = i + b MsgBox c d = i / b MsgBox d DOne: Exit Sub

Now we need to define the destination Bx what it should do when it encounters an error, So write down the following code,

Code:

Sub Sample2 () On Error GoTo bx Dim i As Integer, b As Integer, c As Integer, d As Integer i = 2 b = 0 c = i + b MsgBox cd = i / b MsgBox d DOne: Beenden Sie Sub bx: MsgBox "Dies ist ein weiterer Fehler" & Err.Description End Sub

Wenn wir nun den Code ausführen, können wir sehen, dass Excel uns zuerst den Wert für C gibt.

In einem weiteren Schritt erhalten wir die Eingabeaufforderung, die wir bereitgestellt haben, wenn ein Fehler auftritt.

So behandeln wir die normalen Laufzeitfehler in Excel VBA.

Dinge, an die man sich erinnern sollte

Es gibt einige Dinge, die wir bei der Fehlerbehandlung beachten müssen:

  1. Ignoriert den Fehler.
  2. Bei Fehler GoTo Gives übertrifft ein Ziel, wenn ein Fehler auftritt.
  3. Die Beschreibung wird verwendet, um den genauen Fehler anzuzeigen, der dem Benutzer aufgetreten ist.

Interessante Beiträge...