Um in VBA die gesamte Codeausführung zu beenden, verwenden Sie die Ende Befehl.
1 | Ende |
Wenn die Ausführung des Codes kommt Ende, wird die Ausführung sofort beendet und das Programm verlassen.
Wenn Sie erfahren möchten, wie Sie ein Sub bei einem Fehler beenden, klicken Sie auf diesen Link: VBA On Error Exit Sub
Wenn Sie erfahren möchten, wie Sie ein Sub oder eine Funktion beenden, klicken Sie auf diesen Link: VBA Exit Sub or Function
Beenden Sie den gesamten Code in VBA
Sie werden am Beispiel sehen, was passiert, wenn wir die Ende Befehl in VBA. Wir haben einen Sub erstellt End Sub, die die Ende Befehl hinein. Dieses Sub heißt von CallEndSub. Hier ist der Code:
123456789101112131415161718 | Privater Sub EndSub()Dim i As IntegerFür i = 1 bis 10Wenn i = 5 DannMsgBox "Der Wert von i ist" & iEndeEnde WennAls nächstesEnd SubPrivate Sub CallEndSub()Anruf EndSubMsgBox "End Sub"End Sub |
In dem End Sub, geben wir zuerst die For-Schleife ein, wenn der Wert von i kleiner als 10 ist:
123 | Für i = 1 bis 10Als nächstes |
Danach prüfen wir mit dem If-Befehl, ob der Wert von i gleich 5 ist. Wenn der Wert 5 ist, geben wir die Meldungsbox mit dem Wert von i zurück und verwenden den Befehl Ende.
1234567 | Wenn i = 5 DannMsgBox "Der Wert von i ist" & iEndeEnde Wenn |
Wenn die Bedingung nicht erfüllt ist, erhöht die folgende Anweisung i um 1 und tritt erneut in die For-Schleife ein:
1 | Als nächstes |
In dem CallEndSub, nennen wir zuerst die Sub End Sub:
1 | Anruf EndSub |
Danach geben wir die Message-Box zurück:
1 | MsgBox "End Sub" |
Wenn du das läufst CallEndSub, es ruft zuerst die End Sub. Wenn Sie diesen Code im Debug-Modus ausführen, werden Sie sehen, dass er die Schleife 5 Mal durchläuft. In der 5NS Iteration wird der Wert der Variablen i zu 5 und der Code wird in den If-Body eingegeben. Jetzt die MsgBox „Der Wert von i ist“ & i ausgeführt wird und Ende danach:
Bild 1. VBA-Ende
Wie Sie sehen, wird die Codeausführung direkt nach dem Ende Befehl, also die MsgBox „End Sub“ wird nie ausgeführt.