当前位置:新励学网 > 秒知问答 > vba错误处理过程中还能捕获错误吗

vba错误处理过程中还能捕获错误吗

发表时间:2024-07-11 05:21:02 来源:网友投稿

VBA中错误捕捉的方法主要有两种

第一种捕捉方法:

1、语法:

OnErrorGoToErr_Handle'如果遇到错误就跳转到错误处理代码

语句xxxxx

ExitSub/Function(如果没有这条语句,即使没有错误也会执行错误处理语句)

Err_Handle:语句xxxxxx

2、举例:

Sub查找数字()’本段代码查找电子表格中有没有数字12

OnErrorGoToErr_Handle

MsgBoxCells.Find(12).Address

ExitSub'如果没有这个退出过程语句,会一直执行下去

Err_Handle:

MsgBox(不存在该数字)

EndSub

(1)、电子表中数据和代码

(2)、查找12的结果:

(3)、查找13的结果:

第二种捕捉方法:

1、语法:

OnErrorResumeNext'如果遇到错误,不管错误,继续往下执行,但如果嵌套了其他错误处理语句,这些错误处理语句还是会按照自己规则运行

语句xxxx

OnErrorGoTo0’结束错误捕捉

2、举例代码:

Sub查找数字()

DimiAsInteger

OnErrorResumeNext'遇到错误向下执行

MsgBoxCells.Find(13).Address

OnErrorGoToErr_Handle

i=10/0’会跳转到错误处理语句,而不会运行Exitsub

ExitSub

Err_Handle:

MsgBoxi

OnErrorResumeNext

EndSub

3、结果说明和图例:

excel表中没有13这个数字,但是不会报错也不会有弹窗

在OnErrorResumeNext和Err_Handle之间代码,还是可以发挥错误捕获功能,因此可以出现下面弹窗:

免责声明:本站发布的教育资讯(图片、视频和文字)以本站原创、转载和分享为主,文章观点不代表本网站立场。

如果本文侵犯了您的权益,请联系底部站长邮箱进行举报反馈,一经查实,我们将在第一时间处理,感谢您对本站的关注!