Во-первых, вы должны понимать, что подпрограммы не возвращают значения.Они похожи на void
функции в C.
Во-вторых, используйте Exit 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