【问题标题】:Excel VBA - Is it possible to call sub on error?Excel VBA - 是否可以在错误时调用 sub?
【发布时间】:2014-10-17 14:53:51
【问题描述】:

我一直在寻找,但我真的找不到能回答这个问题的东西。

我遇到了一个错误,我知道是什么原因造成的,但这并不是真正的问题。如果发生此错误,它只需要在运行下一行代码之前运行另一个子程序。所以这让我想知道:

是否可以这样做:

On Error Call Sheet1.TestSub

提前致谢!

【问题讨论】:

    标签: vba excel error-handling


    【解决方案1】:

    你可以试试这样的:

    Sub test()
    On Error GoTo 10
    Set a = b
    MsgBox ("still going")
    
    Exit Sub
    10:  test2
    Resume Next
    
    End Sub
    
    Sub test2()
    MsgBox ("Error")
    
    End Sub
    

    【讨论】:

      【解决方案2】:

      没有。

      您可以做的最好的事情是分支到一个单独的代码部分来处理错误,然后分支回到引发错误的行的正下方。 (如果你知道那行是什么!)

      【讨论】:

      • 我知道这条线,所以如果我做一个错误处理程序,调用那里的 sub 然后分支回来(GoTo 0)是最好的方法吗?
      • 这是唯一简单的方法......您需要在“raiser”下方的行中添加一个标签。然后*GOTO那个标签。
      • 啊,我明白了,非常感谢! 10 分钟后将立即接受答复;)
      • 如果您需要更多帮助,请更新您的帖子。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-21
      • 1970-01-01
      • 1970-01-01
      • 2011-12-04
      • 1970-01-01
      相关资源
      最近更新 更多