【发布时间】:2021-01-13 21:43:19
【问题描述】:
我正在尝试创建一个 VBA 内置函数,如果根据要求,可以完成一种计算。这是我试图做的,但它不起作用。有谁有这种功能的例子吗?
Public Function FRPV(ratey As Double, ratet0 As Double, maturity As Date, asof As Date, amount As Double, testif As Double)
If testif = 123 Then
FRPV = ((1 + (ratey / 100) * (maturity - asof) / 360) * amount) / (1 + (ratet0 / 100) * (maturity - asof) / 360)
Else
FRNPV = (((1 + ratey / 200) ^ ((maturity - asof) / 180)) * amount) / (1 + (ratet0 / 100) * (maturity - asof) / 360)
End If
End Function
【问题讨论】:
-
“FRNPV”。始终使用 Option Explicit。
-
将 UDF(用户定义函数)称为“内置函数”是令人困惑的。除非您为 Microsoft 的 Excel 团队工作,否则您可能无法编写任何内置函数。另外,我支持始终使用
Option Explicit的建议。通过在 VBA 编辑器选项中启用“始终要求变量声明”一劳永逸地做这件事并不是一个坏主意。
标签: excel vba function if-statement