leishtheman
New Member
- Joined
- Oct 1, 2007
- Messages
- 32
Hello
I've had a requirement with a piece of work recently which involved me trying to use error handing within an if block containing several 'elseif' sections and an 'else' section. I couldn't get the error handler to behave as expected, as it kept jumping prematurely to the 'end if' line without first evaluating the remaining 'elseif' and 'else' conditions. I don't understand why this is happening. Can anybody explain? A much simplified version of the code is as below to demonstrate the issue, where it won't evaluate the 'elseif' condition and instead jumps straight to 'end if' after executing the 'on error goto z3' line...
Thanks
Andy
I've had a requirement with a piece of work recently which involved me trying to use error handing within an if block containing several 'elseif' sections and an 'else' section. I couldn't get the error handler to behave as expected, as it kept jumping prematurely to the 'end if' line without first evaluating the remaining 'elseif' and 'else' conditions. I don't understand why this is happening. Can anybody explain? A much simplified version of the code is as below to demonstrate the issue, where it won't evaluate the 'elseif' condition and instead jumps straight to 'end if' after executing the 'on error goto z3' line...
Thanks
Andy
Code:
Sub test()
Dim a As String
Dim b As Integer
a = "c"
b = 0
On Error GoTo z1
If a = 1 Then
b = 1
z2:
On Error GoTo z3
ElseIf a = "d" Then
b = 2
z4:
Else
b = 3
End If
Exit Sub
z1:
On Error GoTo 0
Resume z2
z3:
On Error GoTo 0
Resume z4
End Sub
Last edited by a moderator: