使用Application.Evaluate for XNPV

时间:2018-06-12 18:21:19

标签: excel vba evaluate

我正在尝试在VBA中使用XNPV函数,但是,WorksheetFunction.XNPV不提供与速率对应的参数。我遇到了Application.Evaluate变通方法,但我遇到了我正在使用的定义速率的问题。我的代码给出了错误2029,我假设是由于Evaluate函数没有识别变量“low”

这是我的参考代码

Dim high            As Double       
Dim low             As Double       
Dim mid             As Double

low = 1
high = 100
mid = (low + high) / 2

Debug.Print Application.Evaluate("=XNPV(low,CQ7:CQ367,E7:E367)")

1 个答案:

答案 0 :(得分:2)

如果您想引用您在VBA代码中创建的变量,则必须将其连接到公式中,您不能将其明确地包含在字符串中,如上所述。

Debug.Print Application.Evaluate("=XNPV(low,CQ7:CQ367,E7:E367)")

应该是

Debug.Print Application.Evaluate("=XNPV(" & low & ",CQ7:CQ367,E7:E367)")