In VBA können Sie eine Do-Schleife mit dem beenden Beenden Befehl.
1 | Beenden |
Wenn es um die Ausführung von Code geht Beenden, verlässt der Code die Do-Schleife und fährt mit der ersten Zeile nach der Schleife fort.
Wenn Sie erfahren möchten, wie Sie eine For-Schleife beenden, klicken Sie auf diesen Link: VBA Exit For
Verlassen einer Schleife, wenn eine Bedingung erfüllt ist
Im folgenden Beispiel sehen Sie, wie Sie eine Do-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 6 geht, möchten wir die Schleife verlassen und eine Meldungsbox zurückgeben. Hier ist der Code:
1234567891011 | Dim i As IntegerTun, während ich < 10ich = ich + 1Wenn i = 6 DannBeendenEnde WennSchleifeMsgBox "Der Wert ist" & i |
Zuerst geben wir die Do-Schleife ein, wenn der Wert von i kleiner als 10 ist:
123 | Tun, während ich < 10Schleife |
Im Schleifenkörper erhöhen wir den Wert von i um 1:
1 | ich = ich + 1 |
Danach prüfen wir mit dem If-Befehl, ob der Wert von i gleich 6 ist. Wenn der Wert 6 ist, verlassen wir die Do-Schleife und gehen zur ersten Zeile nach der Schleife:
123 | Wenn i = 6 DannBeendenEnde Wenn |
Die erste Zeile des Codes, die nach dem Verlassen der Do-Schleife ausgeführt wird, ist die Meldungsbox mit dem Wert i:
1 | MsgBox "Der Wert ist" & i |
Wenn Sie diesen Code in ausführen Debug-Modus, sehen Sie, dass die Schleife 6 Mal durchlaufen wird. In der 6NS Iteration wird der Wert der Variablen i zu 6 und der Code wird in den If-Body eingegeben. Nun wird der Rumpf der Do-Schleife verlassen. Danach erscheinen die MsgBox-Popups mit dem Wert von i: