Vba: so beenden sie sub bei einem fehler


Sie können die Exit Sub- Anweisung in VBA verwenden, um eine Unterprozedur zu beenden, wenn ein Fehler auftritt.

Hier ist eine übliche Art, diese Aussage in der Praxis zu verwenden:

 Sub DivideValues()

Dim i As Integer
On Error GoTo ErrorMessage

For i = 1 To 10
    Range(" C " & i) = Range(" A " & i) / Range(" B " & i)
Next i
    
Exit Sub

Error Message:
    MsgBox “ An Error OccurredExit Sub
    
End Sub

Dieses spezielle Makro versucht, jeden Wert im Bereich A1:A10 durch den entsprechenden Wert im Bereich B1:B10 zu dividieren.

Wenn ein Fehler auftritt (wenn wir beispielsweise versuchen, durch Null zu dividieren), weist die On Error GoTo- Anweisung VBA an, auf ErrorMessage zuzugreifen, das anweist, ein Meldungsfeld zu erzeugen, das dem Benutzer mitteilt, dass ein Fehler aufgetreten ist, und die Unterprozedur mit Exist Sub zu beenden . Stellungnahme.

Das folgende Beispiel zeigt, wie diese Syntax in der Praxis verwendet wird.

Beispiel: So erstellen Sie ein Sub im Falle eines Fehlers in VBA

Angenommen, wir haben die folgende Werteliste in den Spalten A und B:

Nehmen wir nun an, wir erstellen das folgende Makro, um jeden Wert in Spalte A durch den entsprechenden Wert in Spalte B zu dividieren und die Ergebnisse in Spalte C anzuzeigen:

 Sub DivideValues()

Dim i As Integer

For i = 1 To 10
    Range(" C " & i) = Range(" A " & i) / Range(" B " & i)
Next i
    
End Sub

Wenn wir dieses Makro ausführen, erhalten wir die folgende Fehlermeldung:

Wir erhalten diesen Fehler, weil wir in der vierten Zeile der Excel-Tabelle versucht haben, durch Null zu dividieren.

Wenn wir die Unterprozedur einfach beenden möchten, wenn dieser Fehler auftritt, können wir die Exit Sub- Anweisung wie folgt verwenden:

 Sub DivideValues()

Dim i As Integer
On Error GoTo ErrorMessage

For i = 1 To 10
    Range(" C " & i) = Range(" A " & i) / Range(" B " & i)
Next i
    
Exit Sub

Error Message:
    MsgBox “ An Error OccurredExit Sub
    
End Sub

Wenn wir dieses Makro ausführen, erledigt die Unterprozedur alle möglichen Divisionsprobleme, bevor ein Fehler auftritt. Anschließend wird ein Meldungsfeld angezeigt, das uns mitteilt, dass ein Fehler aufgetreten ist und VBA einfach in der Unterprozedur vorhanden ist:

VBA bei Ausgabefehler unter

Hinweis : Die vollständige Dokumentation der Exit- Anweisung in VBA finden Sie hier .

Zusätzliche Ressourcen

In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben in VBA ausführen:

So erstellen Sie Ordner mit VBA
So löschen Sie Ordner mit VBA
So löschen Sie Dateien mit VBA

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert