Excel VBA -在调用其他例程时使用错误陷阱

qf9go6mv  于 2023-01-14  发布在  其他
关注(0)|答案(1)|浏览(132)

我有一个模块,其中有几个例程,每个例程都由一个调用语句运行。我试图在每个例程中放置错误陷阱,但即使没有错误,错误陷阱也会被触发。
示例

public sub Macro1()

*some DIM statements*

On Error GoTo Errhandler

*some code
*
errhandler: MsgBox "Error! Contact developer"
Exit Sub

Call AnotherRoutine

End Sub

我尝试过将errhandler语句移到Call语句下面,以防这与编码顺序有关,但我仍然遇到了同样的问题

carvr3hs

carvr3hs1#

Macro1是无效语法。我想你是指错误处理程序后面的End Sub。错误处理不像用If处理条件。标签只是代码中的一个位置,当出现错误时可以跳到它。
您可以将消息框包含在If中以测试是否存在错误,也可以在标签的正上方添加Exit Sub

Public Sub Macro1()
    On Error Goto ErrHandler
    ...
    If Err > 0 Then MsgBox MYMESSAGE
End Sub

相关问题