Skip to main content

Resume statement

Table of contents
  1. Syntax
  2. Remarks
  3. Examples

Resumes execution after an error-handling routine is finished.

Syntax

Resume [ 0 ]
Resume Next
Resume line

The Resume statement syntax can have any of the following forms:

Statement Description
Resume If the error occurred in the same procedure as the error handler, execution resumes with the statement that caused the error. If the error occurred in a called procedure, execution resumes at the statement that last called out of the procedure containing the error-handling routine.
Resume Next If the error occurred in the same procedure as the error handler, execution resumes with the statement immediately following the statement that caused the error. If the error occurred in a called procedure, execution resumes with the statement immediately following the statement that last called out of the procedure containing the error-handling routine (or the On Error Resume Next statement).
Resume line Execution resumes at the line specified in the required line argument. The line argument is a line label or line number and must be in the same procedure as the error handler.

Remarks

If you use a Resume statement anywhere except in an error-handling routine, an error occurs.

Examples

This example uses the Resume statement to end error handling in a procedure, and then resume execution with the statement that caused the error. Error number 55 is generated to illustrate using the Resume statement.

Sub ResumeStatementTest()
    On Error GoTo ErrorHandler ' Enable error-handling routine.
    Open "TESTFILE" For Output As #1 ' Open file for output.
    Kill "TESTFILE" ' Attempt to delete open file.
    Exit Sub ' Exit Sub to avoid error handler.
ErrorHandler: ' Error-handling routine.
    Select Case Err.Number ' Evaluate error number.
        Case 55 ' "File already open" error.
            Close #1 ' Close open file.
        Case Else
            ' Handle other situations here....
    End Select
    Resume ' Resume execution at same line that caused the error.
End Sub

Leave a comment

Your email address will not be published. Required fields are marked *

Format your code: <pre><code class="language-vba">place your code here</code></pre>