我想知道是否有简化的方法可以Sub从另一个Sub嵌套的(Sub2)中退出(Sub1);那么,Sub2是在Sub1内部调用的,如果在Sub1中验证失败,我也想退出Sub1吗?
Sub Process()
Validate()
'SomeMorecode...
End Sub
Sub Validate()
'...
'...
End Sub
Run Code Online (Sandbox Code Playgroud)
首先,您需要了解Subs不返回值。它们就像voidC中的函数。
其次,Exit Sub在您要退出某个Sub时使用。
另外,如果您想退出某个功能,请使用 Exit Function
或者,如果您想退出Do Loop Exit Do Exit While等
切记,如果您Exit Function在实际返回任何内容之前执行此操作,那么将自动设置默认值。如果是布尔型,则该值为False。
你明白了
Sub MyFirstSub()
If Validate() Then
'Do more work here
Else
Exit Sub ' Early Exit
End If
'Other things to do after validation is TRUE
'...
'...
End Sub
Function Validate() As Boolean
' Do validation here and either return TRUE or FALSE
If Rnd(1) > 0.5 Then
Validate = True
Else
Validate = False
End If
End Function
Run Code Online (Sandbox Code Playgroud)