Der Do … Loop-Befehl führt ähnlich der For … Next Anweisung Befehle in einer Schleife aus. Die Do .. Loop-Anweisung tritt dabei in zwei verschiedenen Formen auf, deren allgemeine Syntax lautet:
Do While Ausdruck
VBABefehle
Loop
Do Until Ausdruck
VBABefehle
Loop
Bei der While-Variante wird die Schleife solange durchlaufen, bis die Variable Ausdruck nicht mehr True ist. Die Bedingung wird beim Eintritt in die Schleife sowie bei jedem Schleifendurchlauf überprüft. Die Until-Variante wartet dagegen bis die Variable Ausdruck den Wert True annimmt. Hier wird ebenfalls wieder beim Eintritt und Schleifendurchlauf überprüft, ob die Bedingung – in diesem Fall False – erfüllt ist. Für beide Varianten gilt: Ist die Bedingung nicht erfüllt, dann werden die Schleifen übersprungen und das Programm setzt den Ablauf hinter dem Schlüsselwort Loop fort.
Der Do … Loop-Befehl bietet aber auch die Möglichkeit, eine Schleife zumindest einmal zu durchlaufen, indem man die Bedingungsprüfung ans Ende der Schleife stellt. Auch hier sind wieder beide Varianten möglich. Die Syntax dafür sieht dann folgendermaßen aus:
Do
VBABefehle
Loop While Ausdruck
Do
VBABefehle
Loop Until Ausdruck
Bei der Programmierung von Do … Loop-Schleifen ist besonders darauf zu achten, daß die Bedingung auch tatsächlich einmal erfüllt werden kann. Sollte das nicht der Fall sein, dann haben Sie wieder eine Endlosschleife programmiert. Eine einfachere Variante des Do … Loop-Befehls ist der While-Befehl.