带有十进制类型参数的Excel VBA用户定义函数

时间:2014-09-30 21:43:37

标签: excel vba excel-vba user-defined-functions

我正在Excel中的VBA中编写用户定义的函数。调用时我将传递此函数的参数是十进制值。例如:

Public Function fcn(param1 as Decimal, param2 as Decimal)
   ...
End Function

但我似乎无法将我的参数定义为Decimal类型?

2 个答案:

答案 0 :(得分:3)

来自 EXCEL 2010 的VBA语言参考:

  

注意:
  此时,Decimal数据类型只能在a中使用   Variant,也就是说,您不能将变量声明为Decimal类型。   但是,您可以使用。创建一个Variant,其子类型为Decimal   CDec功能。

应用程序语言参考的可视化基础
   - > Visual Basic语言参考
   - >数据类型
   - >十进制数据类型

EXCEL的几个版本就是这种情况(至少自Office 97以来),所以我不认为它会在不久的将来发生变化。

答案 1 :(得分:2)

使用

Dim d as Variant
d = CDec(1.21)