VBA第八讲 分支与END语句

 end 语句与exit语句,end语句强制退出所有正在运行的程序。exit是退出指定的语句

exit sub

exit function

exit for例子

Sub de13()

Dim x As Integer

For x = 1 To 100

Cells(1, 1) = x

If x = 5 Then

Exit For

End If

Next x

Range("b1") = 100

End Sub

exit do


分支语句(option explicit)

goto 语句,跳转到指定的地方

Sub t1()

Dim x As Integer

Dim sr

100:

sr = Application.InputBox("enter number", "enter password")

If Len(sr) = 0 Or Len(sr) = 5 Then GoTo 100

End Sub

一个很好玩的地方是,我第一次自己尝试的时候,dim sr as string, 这样运行起来的结果是一个死循环,不断弹出小窗口而且不能被关掉。现在看来原因是,string本身就是五个词,这样会永远跳转到goto语句。暂时原因放在这里,后续有新理解再补充。

gosub.return 跳过去再跳回来

Sub t2()

Dim x As Integer

For x = 1 To 12

If Cells(x, 1) Mod 2 = 0 Then GoSub 100

Next x

Exit Sub (这一步用exit sub,因为不需要运行底下的100:)

100:

Cells(x, 1) = "偶数"

Return

End Sub

on error resume next 遇到错误,跳过继续执行下一句

Sub t3()

On Error Resume Next

Dim x As Integer

For x = 1 To 11

Cells(x, 3) = Cells(x, 2) * Cells(x, 1)

Next x

End Sub

出错跳到指定行数 on error goto

Sub t4()

On Error GoTo 100

Dim x As Integer

For x = 1 To 11

Cells(x, 3) = Cells(x, 2) * Cells(x, 1)

Next x

Exit Sub

100:

MsgBox "在第" & x & "行出现错误"

End Sub

取消错误跳转 on error goto 0

Sub t5()

On Error Resume Next

Dim x As Integer

For x = 1 To 11

If x > 5 Then On Error GoTo 0

Cells(x, 3) = Cells(x, 2) * Cells(x, 1)

Next x

Exit Sub

End Sub

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

相关阅读更多精彩内容

  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 12,989评论 0 33
  • 数组也可以设置格式么? 数组除了数字类型外,当然没有颜色,字体等格式,但是range对象可以表示多个连接或者不连接...
    肉丸子豆阅读 925评论 0 0
  • 本例为设置密码窗口 (1) If Application.InputBox(“请输入密码:”) = 1234 Th...
    浮浮尘尘阅读 14,922评论 1 20
  • 入库单的输入,查找,删除与修改 一 查找功能 在VBA中查找主要有三种方法,第一是使用循环查找(在单元格中查找效率...
    肉丸子豆阅读 874评论 2 3
  • 遥遥无期 毛衣羽 初晨的露珠还未落 你就来了 那么轻 那么静 迎着暗...
    西北羽阅读 298评论 0 2

友情链接更多精彩内容