我有一个Excel 2016 VBA UDF(用户定义的函数),看起来像这样;
Public Function AddUDF(Param1 As Single, Param2 As Single)
'Code implementation
End Function
单元格A1
中的内容,A2
是参数Param1
,Param2
的输入。
当单元格A1和A2包含数字时,UDF按预期正常运行。当其中一个单元格包含诸如“N.A”的字符串时,不会运行此UDF并返回值#VALUE!
。我知道UDF没有运行,因为我在UDF中放了一个断点,根本没有达到断点。
如何让UDF运行?
答案 0 :(得分:3)
将参数设置为Single
时,它告诉Excel不接受任何数字。
将参数更改为Variant,然后将Test更改为确保所需的类型:
Public Function AddUDF(Param1 As Variant, Param2 As Variant)
If Not (IsNumeric(Param1) And IsNumeric(Param2)) Then
AddUDF = "not numbers"
Exit Function
End If
'the rest of your code.
End Function