(1)在过程中可能导致错误的代码行的前面添加错误处理语句On Error Goto ErrHandler,其中的“ErrHandler”为自定义的错误标签名称。 (2)在有可能导致错误的代码行后面添加取消错误处理的语句On Error Goto 0,这样当遇到错误时,就不会跳转到指定的错误标签处,而是直接显示错误提示窗口,其中包括【调试】、【结束】等按钮。
VBA的异常处理机制通过On Error Goto语句实现。首先,当可能产生错误的代码行前添加On Error Goto ErrHandler,设置自定义错误标签。遇到错误时,如果没有On Error Goto 0,程序会直接跳转到错误标签,显示调试和结束选项。在宏或程序尾部, Exit Sub用于在无错误时终止错误处理,避免错误程序的执行。错误标...
1Sub检测工作表是否存在()23DimWksNameAsString45OnErrorResumeNext67WksName = Worksheets("sx").Name89IfErr.Number <>0Then1011MsgBoxprompt:="此工作簿中未找到工作表 sx", Title:="错误"1213EndIf1415OnErrorGoTo01617End Sub 注意:当使用On Error Resume Next语句后,应该及时在可能导致错误的代码行之后使...
因为是顺序执行的,你可以在正常语句的最后添加一行:exit sub
on error goto et daima exit sub et:daima exit sub end sub 在那里加个exit sub 就可以了,如果没有从这个过程中跳转出来,程序会不管标签接着往下走,这是个新手常犯的错误
on error goto 语句的确是可以跳到指定位置执行需要代码,但是如果程序没错,而跳转语句在该代码段后面是也会被执行的,因为你在error_1之前没先跳出这段代码.修改方法:在error_1和End If之间加一句Exit Sub即可.
Exit Sub myERR:MsgBox i & "处发生错误,不能计算 "Resume Next End Sub 代码的解读:1) On Error Resume Next 代码首先加入一个错误处理语句,如果发生错误,忽略错误,继续执行下面的语句。2)i = 1 T1 = 1 / 0 这里会发生一个错误,就是除数为零。但是,没有任何的显示。3)On Error GoTo myERR...
Exit Sub/Function(如果没有这条语句,即使没有错误也会执行错误处理语句) Err_Handle: 语句 xxxxxx 2、举例: Sub 查找数字() ’本段代码查找电子表格中有没有数字12 On Error GoTo Err_Handle MsgBox Cells.Find(12).Address Exit Sub '如果没有这个退出过程语句,会一直执行下去 ...
② On Error Resume Next ③ Resume line(NEXT)④ On Error GoTo 0 一一般的VBA错误处理语句 为了说明上面的几个语句,我们简单的写几行代码,如下:Sub mynz_37()On Error GoTo ErrHandler k = 1 / 0 ExitProcedure:On Error Resume Next k = 1 / 0 + 1 MsgBox k Exit Sub ErrHandler:MsgBox...