7、End语句与分支语句

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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • end 语句与exit语句,end语句强制退出所有正在运行的程序。exit是退出指定的语句 exit sub ex...
    肉丸子豆阅读 4,318评论 0 1
  • 个人学习批处理的初衷来源于实际工作;在某个迭代版本有个BS(安卓手游模拟器)大需求,从而在测试过程中就重复涉及到...
    Luckykailiu阅读 10,305评论 0 11
  • Lua 5.1 参考手册 by Roberto Ierusalimschy, Luiz Henrique de F...
    苏黎九歌阅读 14,763评论 0 38
  • 2007年,隔壁哥哥骑着放着音响的摩托,带我去附近的省道上吹风。一边骑一边对我说,生活本来如此的艰难,即使方圆十公...
    暖先森阅读 49,636评论 71 239
  • 今夜的桂花格外的沁香 院子里一年四季都盛开桂花 为何今夜的暗香如此亲近 是秋雨的洗礼还是因为是十月 许久不去专门去...
    鲜宇夫阅读 3,621评论 0 15

友情链接更多精彩内容