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

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

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

但是当我传递 IF 公式(作为字符串)时...

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

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

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

感谢您的帮助!

克里斯

有帮助吗?

解决方案

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

.Range("C11").Formula= "=IF(1+1=2,2,0)"
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top