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

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

下面的代码行工作得很好,它在Excel中parsing为值4:

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

但是当我通过一个IF-Formula(as String)…

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

…我碰到一个COMException ,说: Exception from HRESULT: 0x800A03EC

如果我直接在Excel中input相同的IF-公式,它将被正确parsing。

谢谢你的帮助!

克里斯

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

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