Inhalte
Index 🔎︎

# Anweisung Do...Loop

Wiederholt die zwischen den Anweisungen Do und Loop aufgeführten Anweisungen, solange die angegebene Bedingung wahr ist oder bis die angegebene Bedingung wahr wird.

## Syntax

Do [{While | Until} Bedingung = True]

Befehlsblock

[Exit Do]

Befehlsblock

Loop

oder

Do

Befehlsblock

[Exit Do]

Befehlsblock

Loop [{While | Until} Bedingung = True]

## Parameter/Elemente

Bedingung: Ein Vergleich, numerischer Ausdruck oder Zeichenkettenausdruck, der als True oder False ausgewertet werden kann.

Anweisungsblock: Zu wiederholende Anweisungen, während oder bis die Bedingung erfüllt (True) ist.

Die Anweisung Do...Loop führt eine Schleife so lange aus, wie oder bis eine bestimmte Bedingung erfüllt (True) ist. Die Bedingung zum Verlassen der Schleife muss entweder nach der Anweisung Do oder der Anweisung Loop eingegeben werden. Folgende Beispiele sind gültige Kombinationen:

## Syntax

Do While Bedingung = True

...Befehlsblock

Loop

Der Anweisungsblock zwischen den Anweisungen Do While und Loop wird so lange wiederholt, wie die Bedingung erfüllt ist.

Do Until Bedingung = True

...Befehlsblock

Loop

Der Anweisungsblock zwischen den Anweisungen Do Until und Loop wird so lange wiederholt, wie die Bedingung nicht erfüllt ist.

Do

...Befehlsblock

Loop While Bedingung = True

Der Anweisungsblock zwischen den Anweisungen Do und Loop wird so lange wiederholt, wie die Bedingung erfüllt ist.

Do

...Befehlsblock

Loop Until Bedingung = True

Der Anweisungsblock zwischen den Anweisungen Do und Loop wird so lange wiederholt, bis die Bedingung erfüllt ist.

Um die Schleife bedingungslos zu verlassen, verwenden Sie die Anweisung Exit Do. Sie können diese Anweisung an einer beliebigen Position innerhalb einer Anweisung Do...Loop einfügen. Sie können eine Abbruchbedingung auch mit einer Struktur If...Then wie folgt definieren:

Do...

Befehle

If Bedingung = True Then Exit Do

Befehle

Loop...

## Beispiel

    Sub ExampleDoLoop
    Dim sFile As String
    Dim sPath As String
        sPath = "c:\"
        sFile = Dir$( sPath ,22)
        If sFile <> "" Then
            Do
                MsgBox sFile
                sFile = Dir$
            Loop Until sFile = ""
        End If
    End Sub