Module
Inhalte
Index 🔎︎

# Anweisung Do...Loop

Wiederholt die zwischen der Do- und der Loop-Anweisung aufgeführten Anweisungen solange (While) die angegebene Bedingung wahr ist oder bis (Until) 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 Do- oder der Loop-Anweisung 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