1、End语句
退出所有的程序
2、Exit语句
退出正在执行的程序
2.1、Exit Sub
退出当前sub过程
2.2、Exit Function
退出当前Function
2.3、Exit For
退出for循环
2.4、Exit Do
退出do循环
3、分支语句
3.1、Goto
跳转到指定的地方
语法
Goto 100
100:
或
100:
Goto 100
3.2、GoSub..Return
跳转到指定的地方,然后再跳回来
语法
GoSub 100
[Exit Sub]
100:
Return
说明
GoSub..Return语句与Exit Sub结合使用,否则GoSub语句块执行完毕后,仍然会再次执行100:语句块,最后程序抛出异常“无GoSub返回”。
错误示例:
Sub test()
Dim i!
For i = 5 To 8
If Cells(i, "o").Value = 2 Then GoSub 100
Next
100:
Cells(i, "q").Value = "OK"
Return
End Sub
[o5:o8]=1,2,3,4
预期结果:[q6]="OK"
实际结果:[q6]="OK",[q9]="OK"且程序报错
正确示例:
Sub test()
Dim i!
For i = 5 To 8
If Cells(i, "o").Value = 2 Then GoSub 100
Next
Exit Sub
100:
Cells(i, "q").Value = "OK"
Return
End Sub
3.3、On Error Resume Next
遇到错误,跳过执行下一句
语法
Sub 程序名()
On Error Resume Next
End Sub
3.4、On Error Goto
遇到错误,跳转到指定的行数
语法
Sub 程序名()
On Error Goto 100
100:
End Sub
3.5、On Error Goto 0
取消错误跳转
语法
Sub 程序名()
On Error Resume Next
On Error Goto 0
End Sub
例:
Sub t5()
On Error Resume Next
Dim x As Integer
For x = 1 To 10
If x > 5 Then On Error Goto 0
Cells(x,3) = Cells(x,2) * Cells(x,1)
Next x
Exit Sub
End Sub
网友评论