Do...Loop Statement

Named Arguments

No

Syntax

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

or:

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


condition

Use: Optional

Data Type: Boolean expression

An expression that evaluates to True or False.


statements

Use: Optional

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

Description

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 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:

    Do
     'code to execute
    Loop Until condition
    
    Do
     '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 and 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 condition1
						  'code to execute

If condition2 Then
     Exit Do
   End if
  'more code to execute—only if condition2 is false

Loop

See Also

For...Next Statement, For Each...Next Statement, While...Wend Statement
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.224.165.66