REAL-TIME

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

120+ PROFESSIONAL

Project Management Templates

120+ PM Templates Includes:
  • 50+ Excel Templates

  • 50+ PowerPoint Templates

  • 25+ Word Templates

Effortlessly Manage Your Projects

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

Share Post

The Resume statement in VBA is a crucial tool for handling errors in programs and macros. It allows the program to continue executing after an error has occurred, by redirecting the control flow to a specified label or line of code. In this blog post, we will explore the purpose, syntax, top 5 examples, important notes and remarks of VBA Resume statement and its usefulness in error handling.

VBA Resume Statement

Purpose

The main purpose of using Resume statement in VBA is to handle runtime errors efficiently. It enables the programmer to anticipate any potential errors and handle them gracefully, without disrupting the execution of the program. By using the Resume statement, the program can resume where it left off and allow the user to take appropriate actions to resolve the error.

Syntax

The basic syntax of Resume statement is as follows:

On Error Resume Next
'Code that might cause an error
If Err.Number <> 0 Then
    'Handle the error
    Resume
End If
'Continue with the code

The ‘On Error Resume Next’ statement tells the program to continue with the next line of code if an error occurs. If the error is not handled, the program will continue to run until it encounters another error or reaches the end of the code.

Examples of using VBA Resume Statement

Ignoring specific errors

If you want to ignore a specific error and continue with the execution of the code, you can use the ‘Resume Next’ statement. For example:

Sub IgnoreError()
    On Error Resume Next
    'Perform division
    x = 10 / 0
    'If an error occurs, the program will continue with the next line of code
    MsgBox "The division was successful."
End Sub

Resuming at a specific line

If you want to resume the execution of the code at a specific line when an error occurs, you can use the Resume statement followed by a label or line number. For example:

Sub ResumeAtLine()
    On Error GoTo ErrorHandler
    For i = 1 To 10
        If i = 5 Then
            'If an error occurs, the execution will resume from the ErrorHandler
            Resume ErrorHandle
        End If
    Next i
    'Rest of the code
    MsgBox "All numbers were successfully printed."
    Exit Sub
ErrorHandler:
    MsgBox "An error occurred at line " & Err.Erl & ": " & Err.Description
    'Resume the execution at line 10
    Resume 10
End Sub

Handling different types of errors

The Resume statement is also useful when you need to handle different types of errors in a code. It allows you to specify different actions for each error type. For example:

Sub HandleErrorTypes()
    On Error GoTo ErrorHandler
    'Code that might cause different types of errors
    If Err.Number = 6 Then
        MsgBox "Out of bound error occurred."
        Resume Next
    ElseIf Err.Number = 13 Then
        MsgBox "Type mismatch error occurred."
        Resume Next
    ElseIf Err.Number = 1004 Then
        MsgBox "Application-defined or object-defined error occurred."
        Resume Next
    End If
    'Rest of the code
    MsgBox "No errors were encountered."
    Exit Sub
ErrorHandler:
    MsgBox "An error occurred: " & Err.Description
    Resume Next
End Sub

Resuming after a ‘Try-Catch’ block

If you are using a ‘Try-Catch’ block in your code, you can use the Resume statement to specify where the program should resume if an error occurs. For example:

Sub TryCatch()
    On Error GoTo ErrorHandler
    'Perform some action
    MsgBox "This is a test."
    'If an error occurs, the program will resume at line 15
    Resume 15
    MsgBox "This line of code will not be executed if an error occurs."
    Exit Sub
ErrorHandler:
    MsgBox "An error occurred: " & Err.Description
    Resume Next
End Sub

Using Resume to handle unexpected errors

There might be cases where you are not sure which line of code will cause an error. In such cases, you can use the Resume statement with an error handling routine to handle any unexpected errors. For example:

Sub UnexpectedError()
    On Error GoTo ErrorHandler
    'Some code that might cause errors
    MsgBox "This is a test."
    Exit Sub
ErrorHandler:
    If Err.Number = 0 Then
        'If no specific error is caught, resume at the next line
        Resume Next
    Else
        'Handle the specific error
        MsgBox "An error occurred: " & Err.Description
        'Resume at a specific line after handling the error
        Resume 15
    End If
End Sub

Important Notes & Remarks

  • The Resume statement can only be used after an ‘On Error’ statement.
  • If you use the Resume statement without specifying a label or line number, it will resume at the next line.
  • It is important to handle errors appropriately using ‘If…ElseIf…Else’ statements to avoid infinite looping.
  • The ‘Err’ object stores information about the last error that occurred. It has properties like ErrorNumber, Description, HelpContext, etc.
  • Always test your code thoroughly to make sure it runs without any errors.

Concluded Post

VBA Resume statement is an essential tool for handling runtime errors in programs and macros. It allows the program to continue executing after an error occurs, by redirecting the control flow to a specified label or line of code. The Resume statement can help you handle different types of errors, resume at a specific line, and ignore specific errors. It is important to use this statement correctly and handle errors appropriately to avoid any unexpected results.

Thank you for reading this blog post on VBA Resume statement. We hope you found it informative and helpful in understanding the importance and usage of this statement in error handling.

We would love to hear your thoughts and feedback on this post. Do share your views in the comment section 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.

Save Up to 85% LIMITED TIME OFFER
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