Wie verwende ich vba exit sub in excel?
VBA Exit Sub ist eine Anweisung, mit der Sie eine Unterprozedur oder Funktion beenden. Wie Sie wissen, handelt es sich bei jeder Zeile um ein Makro, das nacheinander ausgeführt wird. Wenn Sie das VBA „Exit Sub“ hinzufügen, beenden Sie die Prozedur, ohne den Rest des darauffolgenden Codes auszuführen. Dies funktioniert am besten mit Schleifen und der Meldungsbox .
Verwenden der Exit Sub-Anweisung in VBA
- Entscheiden Sie zunächst, in welcher Zeile Sie den „Exit Sub“ hinzufügen möchten.
- Überprüfen Sie anschließend die Struktur des Codes, der ausgeführt wird, wenn Sie den Code ausführen .
- Geben Sie als Nächstes „Exit Sub“ ein.
- Letztendlich ist es am besten, einen Kommentar zu haben, der beschreibt, warum Sie die „Exit Sub“-Anweisung verwenden.
Hinweis: In einer VBA- Funktionsprozedur sollten Sie die Anweisung „Exit Function“ verwenden.
Verwenden Sie Exit Sub mit einem Nachrichtenfeld und einem Eingabefeld
Angenommen, Sie möchten über ein Eingabefeld eine Eingabe vom Benutzer erhalten und die Prozedur beenden, wenn die Antwort des Benutzers keine Zahl ist (betrachten Sie das folgende Beispiel).
Im obigen Code haben Sie ISNUMERIC , das den in das Eingabefeld eingegebenen Wert prüft, ob es sich um eine Zahl handelt oder nicht, und wenn dieser Wert keine Zahl ist, verwendet es die Exit-Anweisung Sub, um den Vorgang nach der Anzeige eines Meldungsfelds abzuschließen.
Sub vba_exit_sub_example() If IsNumeric(InputBox("Enter your age.", "Age")) = False Then MsgBox "Error! Enter your Age in numbers only." Exit Sub Else MsgBox "Thanks for the input." End If End Sub
Im Fehlerfall Exit Sub
Das Beste an „Exit Sub“ ist, dass Sie damit den Vorgang beenden können, wenn ein Fehler auftritt. Unten ist der Code, der eine Zahl durch eine Null dividiert, was einen „Laufzeitfehler ’11′“ zurückgibt und die Ausführung stoppt.
Hier können Sie mit der GoTo-Anweisung einen Fehlerhandler mit dem „Exit Sub“ erstellen, um die Prozedur zu beenden (beachten Sie den folgenden Code).
Sub vba_exit_sub_on_error() On Error GoTo iError Range("A1") = 10 / 0 iError: MsgBox "You can't divide with the zero." & _ "Change the code." Exit Sub End Sub
Im obigen Code haben Sie einen Fehlerhandler, „iError“ mit einem Meldungsfeld und dann die Anweisung „Exit Sub“. Wenn während der Berechnung ein Fehler auftritt, wird die goto-Anweisung an den Fehlerbehandler ( VBA Error Handling ) übergeben und die Prozedur beendet.