我有一个Excel VBA用户定义函数,我已经为其中一个函数的参数声明了一个数据类型。我希望能够捕获潜在的错误以防万一 有人没有输入正确的数据类型。似乎应该很简单,但无法弄明白。
请参阅下面的示例,其中我使用了子程序来证明问题。
Sub MyTest()
MsgBox myfunction("123a")
End Sub
Function myfunction(mynum As Double) As String
On Error Resume Next
If IsNumeric(mynum) Then
myfunction = "ok"
Else
myfunction = "not ok"
End If
End Function
额外注意:虽然我使用子程序来演示问题,但实际上我使用用户定义的函数并从我的工作表中调用该函数。因此,仅仅在" MyTest"中添加保护并不简单。调用" MyFunction"之前的程序过程