VBA Projects

Full Access with Source Code
  • Designed and Developed by PNRao

  • Full Access with VBA Source Code

  • Well Commented Codes Lines

  • Creative and Professional Design

Manage Your Projects

120+ Project Management Templates

Seamlessly manage your projects with our powerful & multi-purpose templates for project management.

120+ PM Templates Includes:
  • 50+ Excel Templates

  • 50+ PowerPoint Templates

  • 25+ Word Templates

Share Post

When working with VBA, the Exit statement is a useful tool to have in your coding arsenal. It allows you to control the flow of your code by immediately exiting a procedure, loop, or block of code. In this blog post, we will explore the purpose and syntax of the Exit statement, provide the top 5 examples of its usage, and discuss important notes and remarks. Let’s dive in!

VBA Exit Statement:

Purpose of the Exit Statement

The main purpose of the Exit statement is to provide a way to break out of a loop, exit a procedure, or skip a section of code under certain conditions. This can save you time and effort by avoiding unnecessary iterations and allowing your code to run more efficiently. It also provides a more flexible approach to control the execution of code without having to use multiple ‘If’ statements.

Syntax of the Exit Statement

The Exit statement can be used in three ways: ‘Exit Sub’, ‘Exit For’, and ‘Exit Do’. The syntax for each is as follows:

  • Exit Sub: Exits a Sub procedure and returns control to the calling procedure.
  • Exit For: Exits a For loop and continues code execution at the next statement after the loop.
  • Exit Do: Exits a Do…Loop and continues code execution at the next statement after the loop.
    The ‘Exit Sub’ statement has no additional options or arguments, while the ‘Exit For’ and ‘Exit Do’ statements can be followed by an optional label to specify which loop to exit if there are nested loops within a procedure.

Examples of the VBA Exit Statement

Example 1: Exiting a Sub Procedure

Sub ExitSub()
    'Code to perform a task
    'If a certain condition is met, exit the Sub procedure
    If Condition = True Then
        Exit Sub
    End If
    'Code continues to execute if the condition is not met
    MsgBox "The condition is not met, the code will continue to execute."
End Sub

Example 2: Using ‘Exit For’ to Skip Unnecessary Iterations

Sub ExitFor()
    'Code to loop through a range of cells
    For Each cell In Range("A1:A10")
        'If a certain condition is met, exit the loop
        If cell.Value = "Skip" Then
            Exit For
        End If
        'Code to execute for each cell in the range
        Debug.Print cell.Value
    Next cell
End Sub

Example 3: Exiting a Do…Loop

Sub ExitDo()
    'Code to initialize a count variable
    Dim count As Integer
    count = 0
    'Do...Loop to run the code while the count is less than 10
    Do While count < 10
        'If a certain condition is met, exit the loop
        If count = 5 Then
            Exit Do
        End If
        'Print the count value and increment by 1
        Debug.Print count
        count = count + 1
End Sub

Example 4: Nested For Loops with a Label

Sub NestedLoops()
    'Code to loop through two ranges
    For Each cell1 In Range("A1:A5")
        For Each cell2 In Range("B1:B5")
            'If a certain condition is met, exit the second loop and continue the first loop
            If cell1.Value = "Exit" And cell2.Value = "Continue" Then
                Exit For cell1
            End If
            'Print the values from both cells
            Debug.Print cell1.Value, cell2.Value
        Next cell2
    Next cell1
End Sub

Example 5: Preventing Error with ‘Exit Do’ and Error Handling

Sub PreventError()
    'Code to loop through a range of cells
    For Each cell In Range("A1:A10")
        'Check if the cell value is numeric
        If IsNumeric(cell.Value) = False Then
            'If the value is not numeric, exit the loop and display an error message
            MsgBox "A non-numeric value is found in cell " & cell.Address, vbCritical
            Exit Do
        End If
        'Code to execute for each cell if the value is numeric
        Debug.Print cell.Value
    Next cell
End Sub

Important Notes and Remarks

  • The Exit statement can only be used within a procedure.
  • Using ‘Exit Sub’ or ‘Exit Function’ will immediately exit the entire procedure, while using ‘Exit For’ or ‘Exit Do’ will only exit the loop they are contained within.
  • You can also use the ‘GoTo’ statement with a label to skip a section of code, but it is considered a poor coding practice and can make your code harder to read and maintain.

In this post, we have explored the purpose and syntax of the Exit statement in VBA. We have also provided the examples of its usage and discussed important notes and remarks. By using the Exit statement, you can have more control over your code, make it more efficient, and avoid unnecessary iterations. Have you used the Exit statement in your code?

Do you have any other examples or tips for using it effectively? We would love to hear your feedback and views in the comments below.

Effortlessly Manage Your Projects and Resources
120+ Professional Project Management Templates!

A Powerful & Multi-purpose Templates for project management. Now seamlessly manage your projects, tasks, meetings, presentations, teams, customers, stakeholders and time. This page describes all the amazing new features and options that come with our premium templates.

Project Management Templates

All-in-One Pack
120+ Project Management Templates

Essential Pack
50+ PM Templates

Excel Pack
50+ Excel PM Templates

PowerPoint Pack
50+ Excel PM Templates

MS Word Pack
25+ Word PM Templates

Ultimate Project
Management Template
Ultimate Resource
Management Template
Project Portfolio
Management Templates
Categories: VBA StatementsTags: , Last Updated: September 28, 2023

Leave A Comment