当前位置:首页教育技巧excel技巧excel筛选

EXCEL表格中使用VBA错误捕捉On Error Goto的两种方法

2024-07-21 21:00:20


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

第一种捕捉方法:  

1、语法:

On Error GoTo Err_Handle  '如果遇到错误就跳转到错误处理代码

       语句xxxxx

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

     Err_Handle: 语句 xxxxxx

2、举例:

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 Sub

Err_Handle:

        MsgBox i

    On Error Resume Next

End Sub

3、结果说明和图例:

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

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

相关信息


电脑版

【免责声明】本站信息来自网友投稿及网络整理,内容仅供参考,如果有错误请反馈给我们及时更正,对文中内容的真实性和完整性本站不提供任何保证,不承但任何责任。
版权所有:学窍知识网 Copyright © 2011-2024 www.at317.com All Rights Reserved .