VBA Exit Sub oder Funktion

In VBA können Sie ein Sub oder eine Funktion beenden, indem Sie die Abo beenden oder Exit-Funktion Befehle.

1 Abo beenden
1 Exit-Funktion

Wenn die Ausführung des Codes kommt Abo beenden oder Exit-Funktion, wird ein Sub oder eine Funktion beendet und mit jeder anderen Codeausführung fortgefahren.

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 die Ausführung eines ganzen Codes beenden, klicken Sie auf diesen Link: VBA End

Beende ein Sub in VBA

Sie werden am Beispiel sehen, was passiert, wenn wir die Abo beenden Befehl in einem Sub. Wir haben einen Sub erstellt ExitSub, die die Abo beenden Befehl hinein. Die subCallExitSub nennt diese Sub. Hier ist der Code:

123456789101112131415161718 Privates Unter-ExitSub()Dim i As IntegerFür i = 1 bis 10Wenn i = 5 DannAbo beendenMsgBox "Der Wert von i ist" & iEnde WennAls nächstesEnd SubPrivater UnteraufrufExitSub()ExitSub aufrufenMsgBox "Sub beenden"End Sub

In dem ExitSub, 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, möchten wir das Sub verlassen und das Message-Feld mit dem Wert i zurückgeben:

1234 Wenn i = 5 DannAbo beendenMsgBox "Der Wert von i ist" & iEnde 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 CallExitSub, nennen wir zuerst die Sub ExitSub:

1 ExitSub aufrufen

Danach geben wir die Message-Box zurück:

1 MsgBox "Sub beenden"

Wenn du das läufst CallExitSub, es ruft zuerst die ExitSub. 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 der Sub ExitSub wird verlassen und zum zurückgekehrt CallExitSub. Die nächste Zeile ist MsgBox „Sub verlassen“:

Wie Sie sehen können, ist die ExitSub wird gleich danach verlassen Abo beenden Befehl, also die MsgBox „Der Wert von i ist“ & i wird nie hingerichtet.

Beenden einer Funktion in VBA

Das Beenden einer Funktion in VBA ähnelt dem Beenden eines Sub, nur der Befehl lautet Exit-Funktion. Im Beispiel haben wir die ExitFunc was eine ganze Zahl zurückgibt. Die sub CallExitFunktion ruft diese Funktion auf. Hier ist der Code:

1234567891011121314151617181920 Private Funktion ExitFunc() As IntegerDim i As IntegerFür i = 1 bis 10Wenn i = 5 DannExitFunc = iExit-FunktionEnde WennAls nächstesEndfunktionPrivate Sub CallExitFunction()Dim intFunc As IntegerintFunc = ExitFunction()MsgBox "Der Wert von intFunc ist " & intFuncEnd Sub

In dem ExitFunc, 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, weisen wir dem Funktionsergebnis den Wert von i zu und verlassen die Funktion:

1234 Wenn i = 5 DannExitFunc = iExit-FunktionEnde 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 CallExitFunktion, rufen wir zuerst die Funktion ExitFunc: Dazu müssen wir die Variable deklarieren intFunc Geben Sie Integer ein und weisen Sie das Ergebnis der ExitFunc Funktion dazu:

123 Dim intFunc As IntegerintFunc = ExitFunction()

Danach geben wir die Message-Box mit dem Wert von zurück intFunc:

1 MsgBox "Der Wert von intFunc ist " & intFunc

Wenn du das läufst CallExitFunktion, wird zuerst die Funktion aufgerufen ExitFunc. 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 ist der Wert der ExitFunc wird i und die Funktion wird verlassen und zum CallExitFunktion. Die nächste Zeile ist MsgBox „Der Wert von intFunc ist“ & intFunc:

Sie werden die Entwicklung der Website helfen, die Seite mit Ihren Freunden teilen

wave wave wave wave wave