Results 1 to 10 of 52

Thread: Resume On Error GoTo 0 -1 GoTo Error Handling Statements Runtime VBA Err Handling ORNeRe GoRoT N0Nula 1

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Fuhrer, Vierte Reich DocAElstein's Avatar
    Join Date
    Aug 2014
    Posts
    9,410
    Rep Power
    10

    Error Handling statement Resumes... Error Handling statement Resume Next

    Error Handling statement Resumes
    Error Handling statement Resume Next
    There is very little difference between these codes and the codes from the last post. The line that the error handler goes to is just offset by 1 row. ( I use Select Case instead of ElseIf for no particular reason ) In this case the ability to change something to avoid the error again is less useful as we are not going to “try again”, ( at least not at the point which errored ). But it can be useful, for example at the error handling code section to give some information.
    In the example, the information is given about the error type ( the line number is not available in the true Resume next which we are attempting to mimic). And the user is given the opportunity to continue or abort the code.

    Pseudo Resume Next Code

    Code:
    Sub PseudoResumeNextGoToGet5ButComeBackDarling()   '     https://excelfox.com/forum/showthread.php/2239-Resume-On-Error-GoTo-0-1-GoTo-Error-Handling-Statements-Runtime-VBA-Err-Handling-ORNeRe-GoRoT-N0Nula-1?p=10557&viewfull=1#post10557
    10    On Error GoTo GetMilkLuv
    20   Dim TNominator As Long, RslTwat As Long
    30   ' Other Code
    40    Let TNominator = 0
    50    Let RslTwat = 10 / TNominator
    55 MsgBox Err.Description ' This gives blank. On Erro GoTo -1 has cleared the Err object of infomation
    60   ' other code
    70    Let TNominator = 0
    80    Let RslTwat = 10 / TNominator
    90   ' 0ther code
    100  Exit Sub
    110 GetMilkLuv:  ' "Error handling Code section" is from here until the End
    120 Dim Answer As Long ' You could build this option in if you wanted to
    122  Let Answer = MsgBox(prompt:="Your code errored: " & Err.Description & vbCrLf & "Do you want to continue?", Buttons:=vbYesNo)
    124     If Answer = vbNo Then Exit Sub 'End code if user does not want to continue after error
    130  Dim errLine As Long: Let errLine = Erl ' this must be done before On Error GoTo -1 , as that clears the recorded error line
    140   On Error GoTo -1
    141 ' Err.Clear ' I do not need to do this, as it is effectively done as part of On Error GoTo -1  Note: Err.Clear removes the infomation, if an is present, in the Err object. it has no efffect on the actual error state
    145   MsgBox prompt:="We want to go back to just after the erroring line " & errLine
    150     Select Case errLine:
        Case 10: GoTo 20
        Case 20: GoTo 30
        Case 30: GoTo 40
        Case 40: GoTo 50
        Case 50: GoTo 55
        Case 55: GoTo 60
        Case 60: GoTo 70
        Case 70: GoTo 80
        Case 80: GoTo 90
        Case 90: GoTo 100
        Case 100: GoTo 110
        Case 110: GoTo 120
        Case 120: GoTo 130
        Case 130: GoTo 140
        Case 140: GoTo 150
        End Select
    End Sub


    Here the code using the actual VBA Resume Next error handling statement is used to do the same as the previous code .
    Code:
    Sub VBAResumeNext()   '    https://excelfox.com/forum/showthread.php/2239-Resume-On-Error-GoTo-0-1-GoTo-Error-Handling-Statements-Runtime-VBA-Err-Handling-ORNeRe-GoRoT-N0Nula-1?p=10557&viewfull=1#post10557
     On Error GoTo GetMilkLuv
    Dim TNominator As Long, RslTwat As Long
    ' Other Code
     Let TNominator = 0
     Let RslTwat = 10 / TNominator
     MsgBox Err.Description ' This gives blank.
    ' Other code
     Let TNominator = 0
     Let RslTwat = 10 / TNominator
    ' 0ther code
    Exit Sub
    GetMilkLuv:  ' "Error handling Code section" is from here until the End
    Dim Answer As Long
     Let Answer = MsgBox(prompt:="Your code errored: " & Err.Description & vbCrLf & "Do you want to continue?", Buttons:=vbYesNo)
        If Answer = vbNo Then Exit Sub 'End code if user does not want to continue after error
     MsgBox prompt:="We want to go back to just after the erroring line, and so ignore the error"
     Resume Next
    End Sub
    Last edited by DocAElstein; 03-23-2023 at 08:42 PM.

Similar Threads

  1. Replies: 8
    Last Post: 09-01-2015, 01:50 AM
  2. Difference Between 'On Error GoTo 0' And 'On Error GoTo -1'
    By Transformer in forum Familiar with Commands and Formulas
    Replies: 7
    Last Post: 07-02-2015, 04:07 PM
  3. Replies: 2
    Last Post: 05-14-2013, 01:02 AM
  4. Runtime Error 481 invalid figure when PNG
    By Tony in forum Excel Help
    Replies: 0
    Last Post: 02-12-2013, 12:59 AM
  5. Replies: 10
    Last Post: 04-07-2012, 05:33 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •