错误范围VBA

时间:2015-04-20 13:48:51

标签: vba error-handling

如果在子二中发生错误会发生什么。它会在下一个恢复吗?

Sub One()

  On Error Resume Next
  call Two

end sub

谢谢!

1 个答案:

答案 0 :(得分:4)

这个关闭自己想出来 - 在这里为后人回答。

将此代码粘贴到ThisWorkbook(假设是Excel VBA),然后从即时窗格中调用TestResumeNext

Public Sub TestResumeNext()
    On Error Resume Next
    Boom
    MsgBox "Stack " & Err.Description
End Sub

Private Sub Boom()
    Err.Raise 6
End Sub

您将看到一个显示“Stack Overflow”的消息框。

现在注释掉On Error语句并再次执行此操作:您收到运行时错误。