由于参数input无效,VBA用户定义的函数不能运行

我有一个Excel 2016 VBA UDF(用户定义的函数),看起来这样;

Public Function AddUDF(Param1 As Single, Param2 As Single) 'Code implementation End Function 

单元格A1A2中的内容是参数Param1Param2input。

当单元格A1和A2包含数字时,UDF按预期正常运行。 当其中一个单元格包含“NA”等string时,此UDF不会运行,值为#VALUE! 返回。 我知道UDF没有运行,因为我在UDF中放置了一个断点,断点也没有达到。

我如何获得UDF运行?

您的参数设置为Single它告诉Excel不接受任何东西,但数字。

将参数更改为Variant然后testing以确保您想要的types:

 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