In VBA können Sie eine For-Schleife mit der Beenden für Befehl.
1 | Beenden für |
Wenn die Ausführung des Codes kommt Beenden für, es wird eine For-Schleife verlassen und mit der ersten Zeile nach der Schleife fortgesetzt.
Wenn Sie erfahren möchten, wie Sie eine Do-Schleife beenden, klicken Sie auf diesen Link: VBA Exit Loop
Verlassen einer For-Schleife, wenn eine Bedingung erfüllt ist
Im Beispiel sehen Sie, wie Sie eine For-Schleife verlassen, wenn eine bestimmte Bedingung erfüllt ist. Wir werden den Wert der Variablen i in jeder Iteration in einer Schleife um 1 erhöhen. Wenn es um 5 geht, möchten wir die Schleife verlassen und eine Meldungsbox zurückgeben. Hier ist der Code:
123456789 | Dim i As IntegerFür i = 1 bis 10Wenn i = 5 DannBeenden fürEnde WennAls nächstesMsgBox "Der Wert ist" & i |
Zuerst geben wir 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, verlassen wir die For-Schleife und gehen zur ersten Zeile nach der Schleife:
12345 | Wenn i = 5 DannBeenden fürEnde 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 |
Die erste Zeile des Codes, die nach dem Verlassen der For-Schleife ausgeführt wird, ist die Meldungsbox mit dem Wert i:
1 | MsgBox "Der Wert ist" & i |
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 wird der Rumpf der For-Schleife verlassen. Danach erscheinen die MsgBox-Popups mit dem Wert von i:
Bild 1. Beispiel für Beenden der For-Schleife