美文网首页
7、End语句与分支语句

7、End语句与分支语句

作者: lydark | 来源:发表于2019-02-23 18:32 被阅读0次

    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

    相关文章

      网友评论

          本文标题:7、End语句与分支语句

          本文链接:https://www.haomeiwen.com/subject/bsgpyqtx.html