Ash*_*pta 19 error-handling vba return return-value
我是VBA的新手,想要在看到错误时从函数返回.不能这样做.有什么指针吗?
Function GetEditboxValue(control As IRibbonControl, text As String) As String
If Not IsMissing(text) Then
If Not IsNumeric(text) Then
MsgBox "Please enter numeric value only."
' I WANT TO RETURN HERE
End If
End If
If control.id = "xyz" Then
spaceAboveTable = text
End If
End Function
Run Code Online (Sandbox Code Playgroud)
Sar*_*raz 34
您需要放在EXIT FUNCTION
那里以进一步执行:
Function GetEditboxValue(control As IRibbonControl, text As String) As String
If Not IsMissing(text) Then
If Not IsNumeric(text) Then
MsgBox "Please enter numeric value only."
EXIT FUNCTION
End If
End If
If control.id = "xyz" Then
spaceAboveTable = text
End If
End Function
Run Code Online (Sandbox Code Playgroud)
小智 6
在一般意义上(我实际上并没有说任何尚未说过的内容):
Function Foo(inputVar As Double) As Double
On Error GoTo ErrorHandler
' Code assigning something to returnValue and defaultOutput
Foo = returnValue
Exit Function
ErrorHandler:
Foo = defaultOutput
End Function
Run Code Online (Sandbox Code Playgroud)
当然,没理由它必须是Double.
(编辑是因为我有第二个"退出函数"而不是"结束函数".)