VBA – Schleife beenden
In VBA können Sie eine Do-Schleife mit dem Befehl Exit Do verlassen.
Exit Do
Wenn die Ausführung des Codes zu Exit Do kommt, verlässt er die Do-Schleife und fährt mit der ersten Zeile nach der Schleife fort.
Wenn Sie lernen möchten, wie man eine For-Schleife verlässt, klicken Sie auf diesen Link: VBA-Exit-For.
Beenden einer Schleife, wenn eine Bedingung erfüllt ist
Im folgenden Beispiel sehen Sie, wie Sie eine Do-Schleife verlassen können, wenn eine bestimmte Bedingung erfüllt ist. Wir werden eine Schleife laufen lassen und den Wert der Variablen i bei jeder Iteration um 1 erhöhen. Wenn der Wert 6 erreicht ist, wollen wir die Schleife verlassen und eine Meldungsbox zurückgeben. Hier ist der Code:
Dim i As Integer
Do While i < 10
i = i + 1
If i = 6 Then
Exit Do
End If
Loop
MsgBox "Der Wert ist " & i
Wir starten die Do-Schleife, wenn der Wert von i kleiner als 10 ist:
Do While i < 10
Loop
Im Hauptteil der Schleife erhöhen wir den Wert von i um 1:
i = i + 1
Danach prüfen wir, ob der Wert von i gleich 6 ist, indem wir die If-Anweisung verwenden. Wenn der Wert 6 ist, verlassen wir die Do-Schleife und gehen zur ersten Zeile nach der Schleife:
If i = 6 Then
Exit Do
End If
Die erste Zeile des Codes, die nach dem Verlassen der Do-Schleife ausgeführt wird, ist die Meldungsbox mit dem Wert von i:
MsgBox "Der Wert ist " & i
Wenn Sie diesen Code im Debugger-Modus ausführen, werden Sie sehen, dass er die Schleife 6 Mal durchführt. Bei der 6. Iteration wird der Wert der Variablen i zu 6 und der Code tritt in den If-Körper ein. Jetzt wird der Körper der Do-Schleife verlassen. Danach wird die Meldungsbox mit dem Wert von i angezeigt:
VBA Coding Made Easy
Stop searching for VBA code online. Learn more about AutoMacro - A VBA Code Builder that allows beginners to code procedures from scratch with minimal coding knowledge and with many time-saving features for all users!Learn More!