Excel VBA如何在参数中防止/陷阱数据types不匹配错误

我有一个Excel VBA用户定义的函数,我为其中一个函数的参数声明了一个数据types。 我希望能够陷入潜在的错误,以防有人不把正确的数据types。 似乎应该是简单的,但无法弄清楚。

请参阅下面的示例,我已经使用子过程来演示此问题。

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 

额外的注意:虽然我使用的是一个子过程来演示这个问题,但实际上我正在使用一个用户定义的函数并从我的工作表中调用函数。 因此,在调用“MyFunction”过程之前,在“MyTest”过程中添加保护措施并不简单。