多语言展示
当前在线:1225今日阅读:39今日分享:10

EXCEL-VBA错误捕捉On Error Goto(Resume)

VBA中错误捕捉的方法主要有两种第一种捕捉方法:1、语法:On Error GoTo Err_Handle '如果遇到错误就跳转到错误处理代码语句xxxxxExit Sub/Function(如果没有这条语句,即使没有错误也会执行错误处理语句) Err_Handle: 语句xxxxxx2、举例:Sub 查找数字() ’本段代码查找电子表格中有没有数字12 On Error GoTo Err_Handle MsgBox Cells.Find(12).Address Exit Sub '如果没有这个退出过程语句,会一直执行下去Err_Handle: MsgBox ('不存在该数字')End Sub(1)、电子表中数据和代码(2)、查找12的结果:(3)、查找13的结果:第二种捕捉方法:1、语法:On Error Resume Next '如果遇到错误,不管错误,继续往下执行,但如果嵌套了其他错误处理语句,这些错误处理语句还是会按照自己规则运行 语句xxxx On Error GoTo 0 ’结束错误捕捉2、举例代码:Sub 查找数字() Dim i As Integer On Error Resume Next '遇到错误向下执行 MsgBox Cells.Find(13).Address On Error GoTo Err_Handle i = 10 / 0 ’会跳转到错误处理语句,而不会运行 Exit sub Exit SubErr_Handle: MsgBox i On Error Resume NextEnd Sub3、结果说明和图例:excel表中没有13这个数字,但是不会报错也不会有弹窗在On Error Resume Next 和Err_Handle之间代码,还是可以发挥错误捕获功能,因此可以出现下面弹窗:
推荐信息