使用IF公式以编程方式填充Excel单元格不起作用

时间:2014-01-08 18:30:15

标签: excel excel-interop comexception

我正在尝试通过COM Interop以编程方式填充Excel 2010单元格,并使用表示IF公式的字符串。

以下代码行正常工作,它在Excel中解析为值4:

 .Range("C10").Value = "=2+2"

但是当我传递IF-Formula(作为String)时......

 .Range("C11").Value = "=IF(1+1=2;2;0)"

...我遇到COMException,说:Exception from HRESULT: 0x800A03EC

如果我直接在Excel中输入相同的IF公式,则会正确解析。

感谢您的帮助!

克里斯

1 个答案:

答案 0 :(得分:3)

您应该用逗号替换分号并使用.Formula代替.Value

.Range("C11").Formula= "=IF(1+1=2,2,0)"