vba while loop code example

Example 1: excel vba while... "end while" doesn't work?

'In VBA, there is no 'While... End While' loop.

'Attempting to use the above construct will result in a compile-time
'error.

'But VBA does have two loops that use the keyword, 'While'...

While c < 100
	c = c + 1
	'But VBA does not have an 'Exit While' statement.
Wend

Do While c < 100
	c = c + 1
	If c = 75 Then Exit Do
Loop


'The 'Do Loop' can also be written as:      
Do 
	c = c + 1
	If c = 75 Then Exit Do
Loop While c < 100
            
'--------------------------------------------------------------------
            
'The loops can also run backward...
            
c = 99
While c
    'Do something with c here
	c = c - 1
Wend           

c = 99
Do 
    'Do something with c here
	c = c - 1
Loop While c

Example 2: while loop python

while (condition):
  doThis();

Example 3: vba while loop

i = 0
While i < 100
    'Code here is executed 100 times.
    i = i + 1 
Wend

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Notes: The While loop is terminated with the 'Wend' keyword.
'
'       The While loop must include a Boolean expression directly after
'       the 'While' keyword and the loop will execute for as long as the 
'       Boolean expression evaluates to True. This expression should be
'       based on something that has the POTENTIAL TO CHANGE on each cycle
'       through the loop. For example, 'i' in the above code.
'  
'	    The While expression is evaluated at the beginning EACH cycle through 
'       the loop. The expression DOES NOT NEED to be NUMERIC; but it must 
'       evaluate to True or False. The While loop will be skipped entirely if 
'       the expression evaluates to False before the loop begins.
  
'       The following code demonstrates how the above While loop
'       functions (without actually using the 'While' and 'When' keywords):

i = 0
LoopStart:
    If (i < 100) = False Then GoTo LoopEnd
        'Code here is executed 100 times.
        i = i + 1
    GoTo LoopStart
LoopEnd:  

'      This is for demonstration purposes only. Although these two loops are
'      equivalent, using the 'GoTo' statement should be avoided. The While loop
'      accomplishes the exact same task, but cleanly, without the 
'      line labels and without the 'GoTo' statements.
'
'Note: VBA does not include an 'Exit While' statement to terminate the loop
'      early. VBA does include the 'Exit Do' statement for the Do loop and 
'      also the 'Exit For' statement for the For loop. But it is possible
'      to exit the While loop early with a 'GoTo' statement, but again, the 
'      'GoTo' statement should be avoided. It's also possible to exit
'      the While loop with the 'Exit Sub' and 'Exit Function' statements.
'      But of course, these last two statements will not only exit the
'      While loop, they will also immediately exit the current procedure.
'    
'Note: From an efficiency standpoint, the For loop may be a better choice
'      than the While loop because the For loop's range is calculated only
'      once, before the For loop starts. By contrast, the While loop's
'      expression is evaluated before each and every cycle of the loop.
'
'
'

Example 4: vba for loop

' For VBA//VB/Visual Basic only

' ================================================================
' METHOD: FUNDAMENTAL

'EXAMPLE
  Dim iTotalPrints As Integer
  iTotalPrints = 5

  For iCount = 1 To iTotalPrints
      MsgBox Prompt:=iCount, Title:="Method: Fundamental"
  Next

'SYNTAX
'	For <your-variable-to-be-used> = <first-number> To <last-number>
'		'Code that uses <your-variable-to-be-used>
'	Next

' ================================================================
' METHOD: WITHIN AN ARRAY

 'EXAMPLE
  Dim sTextList(4) As String 'Note: doesn't have to be of "String" data-type
  sTextList(0) = "aaa"
  sTextList(1) = "bbb"
  sTextList(2) = "ccc"
  sTextList(3) = "ddd"
  sTextList(4) = "eee"

  For Each sSeparateText In sTextList
    MsgBox Prompt:=sSeparateText, Title:="Method: Within an Array"
  Next

'SYNTAX
'	For Each <your-variable-to-be-used> In <your-array-of-texts> 
'		'Code that uses <your-variable-to-be-used>
'	Next

Example 5: vba do while

' OPTION 1
i =0
Do While i < 3 'Check Condition at the START of the loop
  ' Do something
  i = i + 1
Loop 

'OPTION 2
i =0
Do
  ' Do something
  i = i + 1
Loop While i < 3 'Check Condition at the END of the loop

Tags:

Vb Example