VB钽吟篑瑜A中错误捕捉的方法主要有两种
第一种捕捉方法:
语法:
OnErrorGoToErr_Handle'如果遇到错误就跳转到错误处理代码
语句xxxxx
ExitSub/Function(如果没有这条语句,即使没有错误也会执行错误处理语句)
Err_Handle:语句xxxxxx
举例:
Sub查找数字()’本段代码查找电子表格中有没有数字12
OnErrorGoToErr_Handle
MsgBoxCells.Find(12).Address
ExitSub'如果没有这个退出过程语句,会一直执行下去
Err_Handle:
MsgBox("不存在该数字")
EndSub
(1)、电子表中数据和代码
(2)、查找12的结果:
(3)、查找13的结果:
第二种捕捉方法:
语法:
OnErrorResumeNext'如果遇到错误,不管错误,继续往下执行,但如果嵌套了其他错误处理语句,这些错误处理语句还是会按照自己规则运行
语句xxxx
OnErrorGoTo0’结束错误捕捉
举例代码:
Sub查找数字()
DimiAsInteger
OnErrorResumeNext'遇到错误向下执行
MsgBoxCells.Find(13).Address
OnErrorGoToErr_Handle
i=10/0’会跳转到错误处理语句,而不会运行Exitsub
ExitSub
Err_Handle:
MsgBoxi
OnErrorResumeNext
EndSub
结果说明和图例:
excel表中没有13这个数字,但是不会报错也不会有弹窗
在OnErrorResumeNext和Err_Handle之间代码,还是可以发挥错误捕获功能,因此可以出现下面弹窗: