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
网友评论