Die `Do…Loop`-Anweisung in VBA (Visual Basic for Applications) wird verwendet, um Anweisungen wiederholt auszuführen, solange eine bestimmte Bedingung wahr ist oder bis eine bestimmte Bedingung erfüllt wird. Es gibt unterschiedliche Formen, wie diese Schleife gestaltet werden kann. Hier sind zwei gängige Verwendungen:
Sub BeispielDoWhile()
Dim i As Integer
i = 1
Do While i <= 5
Debug.Print "Wert von i: "; i
i = i + 1
Loop
End Sub
- Do While…Loop: Diese Schleife führt den Codeblock so lange aus, wie die Bedingung wahr ist.
In diesem Beispiel wird der Code innerhalb der Schleife ausgeführt, solange `i` kleiner oder gleich 5 ist.
Sub BeispielDoLoopWhile()
Dim i As Integer
i = 1
Do
Debug.Print "Wert von i: "; i
i = i + 1
Loop While i <= 5
End Sub
- Do…Loop While: Ähnlich wie bei `Do While`, jedoch wird die Bedingung am Ende der Schleife geprüft, und der Codeblock wird mindestens einmal ausgeführt.
Hier wird der Codeblock mindestens einmal ausgeführt und anschließend wird die Bedingung geprüft.
Sub BeispielDoUntil()
Dim i As Integer
i = 1
Do Until i > 5
Debug.Print "Wert von i: "; i
i = i + 1
Loop
End Sub
- Do Until…Loop: Diese Schleife endet, wenn die Bedingung wahr wird.
In diesem Fall wird der Code ausgeführt, bis `i` größer als 5 ist.
Sub BeispielDoLoopUntil()
Dim i As Integer
i = 1
Do
Debug.Print "Wert von i: "; i
i = i + 1
Loop Until i > 5
End Sub
- Do…Loop Until: Ähnlich wie `Do Until`, aber die Bedingung wird am Ende der Schleife geprüft.
Der Codeblock wird mindestens einmal ausgeführt und dann wird geprüft, ob die Bedingung erfüllt ist.
In allen diesen Formen können Sie die Schleife mit `Exit Do` vorzeitig verlassen, wenn eine bestimmte Bedingung erreicht ist. Dies kann nützlich sein, um unnötige Iterationen zu vermeiden.