我正在使用Evaluate
以执行此公式:
x = Application.Evaluate("AdInterp(" & cells(2,"C").value & "," & "'" & ThisWorkbook.Worksheets("Fonction DCF ").Range("U8:U31").Parent.Name & "'!" & ThisWorkbook.Worksheets("Fonction DCF ").Range("U8:U31").Address(external:=False) & "," & "'" & ThisWorkbook.Worksheets("Fonction DCF ").Range("V8:V31").Parent.Name & "'!" & ThisWorkbook.Worksheets("Fonction DCF ").Range("V8:V31").Address(external:=False) & ",IM:CUBD)")
它返回 1(似乎是.Evaluate
舍入结果)。例外的输出是:1,00042406864688
x
是一种double
类型,所以我不明白为什么结果是四舍五入的……知道吗?
问题 :
为了评估它,我在构建公式时犯了错误吗?
下面是我做过的几个测试
当我将公式放入单元格时,输出为:1,00042406864688
Excel工作表公式:
=AdInterp(C2;'Fonction DCF '!U8:U31;'Fonction DCF '!V8:V31;IM:CUBD)
执行窗口:
注意:当我将公式放入单元格中时
Evaluate(Cells(2,"G").Formula)
输出为: 1,00042406864688