Das programmgesteuerte Füllen einer Excel-Zelle mit einer WENN-Formel funktioniert nicht
-
20-12-2019 - |
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
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