【Excel VBA】Error handling

【Excel VBA】Error handling_第1张图片
1. 直接退出
2. On Error Resume Next / On Error Goto 0语句
【Excel VBA】Error handling_第2张图片
当加上On Error Resume Next语句后,如果后面的程序出现"运行时错误"时,会继续运行,不中断。
当加上On Error Goto 0语句后,如果后面的程序出现"运行时错误"时,会显示"出错信息"并停止程序的执行。
【Excel VBA】Error handling_第3张图片

3. Detailed Error handle

3.1 将Error分类,424 error直接Exit sub不报错(点击cancel后,object为空,就会报424错误)。其他error才会提示。

注意!ErrorHandle之前,要先Exit Sub
【Excel VBA】Error handling_第4张图片

3.2 Resume line
【Excel VBA】Error handling_第5张图片

Resume 语句
在错误处理程序结束后,恢复原有的运行。
语法
Resume [0]
Resume Next 
Resume line
Resume 语句的语法可以具有以下任何一种形式:
              语句                                                             描述
Resume                        如果错误和错误处理程序出现在同一个过程中,则从产生错误的语句恢复运行。如果错误出现在被调用的过程中,则从最近一次调用包含错误处理程序的过程的语句处恢复运行。
Resume Next                如果错误和错误处理程序出现在同一个程序中,则从紧随产生错误的语句的下个语句恢复运行。如果错误发生在被调用的过程中,则对最后一次调用包含错误处理程序的过程的语句(或 On Error Resume Next 语句),从紧随该语句之后的语句处恢复运行。
Resume line                在必要的 line 参数指定的 line 处恢复运行。line 参数是行标签或行号,必须和错误处理程序在同一个过程中。

说明
在错误处理程序之外的任何地方使用 Resume 语句都会导致错误发生

More: http://club.excelhome.net/thread-503926-1-1.html

你可能感兴趣的:(VBA)