在VBA中处理错误时如何管理无错误情况? [英] How to manage the no error case when handling errors in VBA?

查看:125
本文介绍了在VBA中处理错误时如何管理无错误情况?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要使用 GoTo 语句捕获一些VBA错误:

I need to catch some VBA errors using the GoTo statement:

Sub mySub
 On Error GoTo errorHandler:
    Workbooks.Open("myWorkbook")
'
' Some Code
'
errorHandler:
MsgBox "ERROR"

End Sub

问题是,当没有错误执行 errorHandler 部分。

我发现此讨论,但是答案不能解决我的问题。

我尝试添加 Exit Sub 语句,如下所述:

The problem is that when there is no error the errorHandler section is executed.
I found this discussion but the answer doesn't solve my issue.
I tried adding an Exit Sub statement as explained :

Sub mySub
 On Error GoTo errorHandler:
    Workbooks.Open("myWorkbook")
    Exit Sub

'
' Some Code
'
errorHandler:
  MsgBox "ERROR"

End Sub

没有错误时,它将退出该方法。
我也尝试过:

In this case it exits the method when there is no error. I also tried :

 Sub mySub
 On Error GoTo errorHandler:
    Workbooks.Open("myWorkbook")
'
' Some Code
'
errorHandler:
  MsgBox "ERROR"
  Exit Sub
End Sub

但仍然存在相同的问题:执行 errorHandler 即使没有错误发生。

But still the same issue: The errorHandler is executed even when no errors occur.

推荐答案

只需将Exit sub放入。

Just put Exit sub in.

Sub mySub
 On Error GoTo myHandler:
    Workbooks.Open("myWorkbook")
'
' Some Code
'
Exit sub

myHandler:
MsgBox "EROOR !"

err.clear
End Sub

这篇关于在VBA中处理错误时如何管理无错误情况?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆