Rückkehr in VBA-Code-Beispiele

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 schleife beenden

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! vba save as


Learn More!