Open In App

How to use Do Until Loop in Excel VBA?

Last Updated : 28 Jul, 2021
Improve
Improve
Like Article
Like
Save
Share
Report

In this article, we are going to see look into the Do Until loop in Excel VBA using a suitable example.

Implementation :

In the Microsoft Excel tabs, select the Developer Tab. Initially, the Developer Tab may not be available. 

The Developer Tab can be enabled easily by a two-step process :

  • Right-click on any of the existing tabs in the top of the Excel window.
  • Now select Customize the Ribbon from the pop-down menu.

  • In the Excel Options Box, check the box Developer to enable it and click on OK.

  • Now, the Developer Tab is visible.

Now click on the Visual Basic option in the Developer tab and make a new module to write the program using the Select Case statement.

Developer  -> Visual Basic -> Tools -> Macros
  • Now create a Macro and give any suitable name.

  • This will open the Editor window where can write the code.

Do Until Loop

In Do Until loop the condition is checked. The statements inside the loop are executed when the condition becomes FALSE. When the condition becomes TRUE, the loop terminates. In the case of a Do Until we can write the condition either in the beginning or at the end. There are two possible syntaxes in the case of Do Until Loop. The keyword Do is used to perform the tasks until certain criteria are met. 

The syntax is :

Do Until condition/expression
    Statement 1
    Statement 2
    Statement 3
    ...
    Statement n
Loop

An alternate syntax is :

Do
    Statement 1
    Statement 2
    Statement 3
    ...
    Statement n
Loop Until Condition/expression

Flow Diagram :

Example : Print the age of all the employees in an organization whose age falls between thirty to forty years.

Code :

Sub Do_Until_Age_Emp()
'Initialize and declare the age of the employee
Dim Age As Integer: Age = 30
'Condition to print the age of employees between 30 to 40 years
Do Until Age > 38
    Age = Age + 1
    MsgBox ("Age:" & Age)
Loop
End Sub

In the above code, the condition is Do Until Age > 38. It will execute the age of employees from 31 to 39 years because when the age becomes 39 the condition becomes TRUE and the loop terminates. In the Excel message box we get the ages of the employees between 30 to 40 years.

Output :

Age : 31

Age : 32

Age : 33

Age : 34

Age : 35

Age : 36

Age : 37

Age : 38

Age : 39

Similarly, the above code can also be written as :

Sub Do_Until_Age_Emp()
'Initialize and declare the age of the employee
Dim Age As Integer: Age = 30
'Start of Do Until Loop
Do
    Age = Age + 1
    MsgBox ("Age:" & Age)
Loop Until Age > 38        'Condition to print the age of employees between 30 to 40 years
End Sub

Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads