VBA – For-Schleife beenden
In VBA können Sie eine For-Schleife durch die Verwendung vom Befehl Exit For beenden.
Exit For
Wenn die Ausführung des Codes zu Exit For kommt, wird eine For-Schleife beendet und mit der ersten Zeile danach fortgefahren.
Wenn Sie erfahren möchten, wie Sie eine Do-Schleife beenden können, klicken Sie auf diesen Link: VBA-Schleife beenden
Beenden einer For-Schleife, wenn eine Bedingung erfüllt ist
In diesem Beispiel sehen Sie, wie Sie eine For-Schleife beenden können, wenn eine bestimmte Bedingung erfüllt ist. Wir werden die Schleife ausführen und den Wert der Variablen i in jeder Iteration um 1 erhöhen. Wenn der Wert 5 erreicht ist, wollen wir die Schleife verlassen und eine Meldungsbox zurückgeben. Hier ist der Code:
Dim i As Integer
For i = 1 To 10
If i = 5 Then
Exit For
End If
Next i
MsgBox "Der Wert beträgt " & i
Wir beginnen mit der For-Schleife, wenn der Wert von i kleiner als 10 ist:
For i = 1 To 10
Next i
Danach prüfen wir, ob der Wert von i gleich 5 ist, indem wir den Befehl If verwenden. Wenn der Wert 5 erreicht ist, beenden wir die For-Schleife und springen zur ersten Zeile danach:
If i = 5 Then
Exit For
End If
Wenn die Bedingung nicht erfüllt ist, erhöht die folgende Anweisung i um 1 und tritt erneut in die For-Schleife ein:
Next i
Die erste Zeile des Codes, die nach dem Beenden der For-Schleife ausgeführt wird, ist die Meldungsbox mit dem Wert von i:
MsgBox "Der Wert beträgt " & i
Wenn Sie diesen Code im Debug-Modus ausführen, werden Sie sehen, dass er die Schleife 5 Mal ausführt. Bei der 5. Iteration wird der Wert der Variablen i zu 5 und der Code tritt in den Rumpf der If-Anweisung ein. Jetzt wird der Rumpf der For-Schleife verlassen. Danach wird die MsgBox mit dem Wert von i angezeigt:
Abbildung 1: Beispiel fürs Beenden der For-Schleife
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!