DoLoop Statement

Named Arguments


Do [{While | Until} condition]

[statements] [Exit Do]

[ statements] Loop or:

[ statements] Loop [{While | Until} condition] condition

Use: Optional

Data Type: Boolean expression

An expression that evaluates to True or False.


Use: Optional

Program statements that are repeatedly executed while, or until, condition is True.


Repeatedly executes a block of code while or until a condition becomes True. Rules at a Glance

• Do...Loop on its own repeatedly executes the code that is contained within its boundaries indefinitely. You therefore need to specify within the code under what conditions the loop is to stop repeating. In addition, if the loop executes more than once, the variable controlling loop execution must be modified inside of the loop. For example:

Do intCtr = intCtr + 1 ' Modify loop control variable MsgBox "Iteration " & intCtr & _

" of the Do loop... " ' Compare to upper limit If intCtr = 10 Then Exit Do Loop

Failure to do this results in the creation of an endless loop.

• Adding the Until keyword after Do instructs your program to Do something Until the condition is True. Its syntax is:

Do...Loop Statement 239

Do Until condition

'code to execute Loop

If condition is True before your code gets to the Do statement, the code within the Do...Loop is ignored.

• Adding the While keyword after Do repeats the code while a particular condition is True. When the condition becomes False, the loop is automatically exited. The syntax of the Do While statement is:

Do While condition

'code to execute Loop

Again, the code within the Do...Loop construct is ignored if condition is False when the program arrives at the loop.

• In some cases, you may need to execute the loop at least once. You might, for example, evaluate the values held within an array and terminate the loop if a particular value is found. In that case, you'd need to execute the loop at least once. To do this, place the Until or While keyword along with the condition after the Loop statement. Do...Loop Until always executes the code in the loop at least once and continues to loop until the condition is True. Likewise, Do...Loop While always executes the code at least once, and continues to loop while the condition is True. The syntax of these two statements is as follows:

'code to execute Loop Until condition

'code to execute Loop While condition

• A Null condition is treated as False.

• Your code can exit the loop at any point by executing the Exit Do statement. Programming Tips & Gotchas

You'll also encounter situations in which you intend to continually execute the loop while or until a condition is True, except in a particular case. This type of exception is handled using the Exit Do statement. You can place as many Exit Do statements within a Do...Loop structure as you require. As with any exit from a Do...Loop, whether it's exceptional or normal, the program continues execution on the line directly following the Loop statement. The following code fragment illustrates the use of Exit Do:

Do Until conditionl

'code to execute

If condition2 Then

Exit Do End if

'more code to execute—only if condition2 is false Loop

240 Chapter 7- The Language Reference

See Also

For...Next Statement, For Each...Next Statement, While...Wend Statement

Was this article helpful?

0 0

Post a comment