Do...Loop-AnweisungDo...Loop statement

Wiederholt einen Block von Anweisungen, während eine Bedingung True ist oder bis eine Bedingung True wird.Repeats a block of statements while a condition is True or until a condition becomes True.

SyntaxSyntax

Do [{ While | Until } condition ]Do [{ While | Until } condition ]
[ statements ][ statements ]
[ Exit Do ][ Exit Do ]
[ statements ][ statements ]
LoopLoop

Alternativ können Sie folgende Syntax verwenden:Or, you can use this syntax:

DoDo
[ statements ][ statements ]
[ Exit Do ][ Exit Do ]
[ statements ][ statements ]
Loop [{ While | Until } condition ]Loop [{ While | Until } condition ]


Die Anweisungssyntax DoLoop hat folgende Teile:The Do Loop statement syntax has these parts:

TeilPart BeschreibungDescription
Bedingungcondition Optional.Optional. Numerischer Ausdruck oder Zeichenfolgenausdruck, True oder False.Numeric expression or string expression that is True or False. If condition is Null, condition is treated as False.If condition is Null, condition is treated as False.
Anweisungenstatements Eine oder mehrere Anweisungen, die wiederholt werden, solange oder bis conditionTrue ist.One or more statements that are repeated while, or until, condition is True.

HinweiseRemarks

Eine beliebige Anzahl an Exit Do-Anweisungen kann an einer beliebigen Stelle in der Do…Loop-Anweisung platziert werden, um eine Alternative zur Beendigung einer Do…Loop-Anweisung darzustellen.Any number of Exit Do statements may be placed anywhere in the Do…Loop as an alternate way to exit a Do…Loop. Exit Do wird häufig nach der Evaluierung einer Bedingung verwendet, beispielsweise If…Then. In diesem Fall überträgt die Exit Do-Anweisung die Steuerung auf die Anweisung, die unmittelbar auf Loop folgt.Exit Do is often used after evaluating some condition, for example, If…Then, in which case the Exit Do statement transfers control to the statement immediately following the Loop.

Wenn Exit Do innerhalb verschachtelter Do...Loop-Anweisungen verwendet wird, überträgt es die Steuerung auf die Schleife, die sich eine Verschachtelungsebene über der Schleife befindet, in der Exit Do auftritt.When used within nested Do…Loop statements, Exit Do transfers control to the loop that is one nested level above the loop where Exit Do occurs.

BeispielExample

Dieses Beispiel zeigt, wie Do...Loop-Anweisungen verwendet werden können.This example shows how Do...Loop statements can be used. Die innere Do...Loop-Anweisung führt 10 Schleifen aus, fragt den Benutzer, ob sie den Vorgang fortsetzen soll, legt den Wert des Flag auf False fest (bei Auswahl von Nein) und beendet vorzeitig durch Verwendung der Exit Do-Anweisung.The inner Do...Loop statement loops 10 times, asks the user if it should keep going, sets the value of the flag to False when they select No, and exits prematurely by using the Exit Do statement. Die äußere Schleife wird sofort nach dem Überprüfen des Flag-Werts beendet.The outer loop exits immediately upon checking the value of the flag.

Public Sub LoopExample()
    Dim Check As Boolean, Counter As Long, Total As Long
    Check = True: Counter = 0: Total = 0 ' Initialize variables.
    Do ' Outer loop.
        Do While Counter < 20 ' Inner Loop
            Counter = Counter + 1 ' Increment Counter.
            If Counter Mod 10 = 0 Then ' Check in with the user on every multiple of 10.
                Check = (MsgBox("Keep going?", vbYesNo) = vbYes) ' Stop when user click's on No
                If Not Check Then Exit Do ' Exit inner loop.
            End If
        Loop
        Total = Total + Counter ' Exit Do Lands here.
        Counter = 0
    Loop Until Check = False ' Exit outer loop immediately.
    MsgBox "Counted to: " & Total
End Sub

Siehe auchSee also

Support und FeedbackSupport and feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation?Have questions or feedback about Office VBA or this documentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.