如何处理1个以上的错误处理程序';VBA中的excel

如何处理1个以上的错误处理程序';VBA中的excel,vba,excel,Vba,Excel,请在下面找到我的错误处理代码 Sub trial() On Error GoTo MyHandler s = 15 / 0 MyHandler: s = 0 On Error GoTo my2Handler h = 10 / 0 Handler: h = 0 End Sub 我的第二个错误处理程序,即my2Handler不工作,我无法在1子系统中同时使用这两个错误处理程序。您没有my2Handler的标签,它们都需要在底部,因为MyHandler将始终被调用,就像这样 Sub twoerr

请在下面找到我的错误处理代码

Sub trial()
On Error GoTo MyHandler
s = 15 / 0
MyHandler:
s = 0

On Error GoTo my2Handler
h = 10 / 0
Handler:
h = 0

End Sub

我的第二个错误处理程序,即my2Handler不工作,我无法在1子系统中同时使用这两个错误处理程序。

您没有
my2Handler
的标签,它们都需要在底部,因为MyHandler将始终被调用,就像这样

Sub twoerrors()

On Error GoTo Handler1

'   do something

On Error GoTo Handler2

'   do something else
Exit Sub

Handler1:
    Exit Sub

Handler2:
    Exit Sub

End Sub

您可以按如下方式使用
Resume

Sub trial()

Check1:
    On Error GoTo MyHandler
    s = 15 / 0

Check2:
    On Error GoTo my2Handler
    h = 10 / 0

Exit Sub

MyHandler:
    s = 0
    Resume Check2

my2Handler:
    h = 0

End Sub

感谢您的解决方案,但是如果在s计算中获取值没有错误,那么我的代码将不会转到第二个错误处理程序,即my2Handler,因此我可以分别处理这两个错误处理程序。