Frage

Ich versuche, eine Excel 2010-Zelle programmgesteuert über COM Interop mit einer Zeichenfolge zu füllen, die eine IF-Formel darstellt.

Die folgende Codezeile funktioniert einwandfrei, sie wird in Excel in den Wert 4 aufgelöst:

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

aber wenn ich eine IF-Formel (als String) übergebe ...

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

...ich stoße auf einen COMException, Sprichwort: Exception from HRESULT: 0x800A03EC.

Wenn ich dieselbe IF-Formel direkt in Excel eingebe, wird sie korrekt geparst.

Vielen Dank für Ihre Hilfe!

Chris

War es hilfreich?

Lösung

Sie sollten die Semikolons durch Kommas ersetzen und verwenden .Formula stattdessen .Value

.Range("C11").Formula= "=IF(1+1=2,2,0)"
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top