içindeki hücre aralığına formül atanamadı. Projede bir başkasının kodu düzeltilmeye çalışıyorum. FormulaMatrix(i, j)
her zaman String
değerdirExcel
listO.Range(i, j).FormulaR1C1 = FormulaMatrix(i, j)
. Rastgele/test değeri ne olursa olsun, bir formül olduğunda, örneğin, başarılı bir şekilde atanıyor. Ben formülün başında =
işaretini kaldırırsanız
=IF(LENGTH([@Units])>0;[@SalesAmount]-[@DiscountAmount]0)
, doğru atanır, ancak bir formül değil çünkü o zaman, yararsız. Sütun referansları/adları.
Yani, bir formül atarken, bir özel durum HRESULT: 0x800A03EC
olsun. Açıklama alabilmek için in this answer numaralı telefonu inceledim ve talimatların bazılarını takip ettim. Sorunumun aşağıdaki olduğunu belirledim: sorun, bir hücreye girilen bir işlevden kaynaklanıyor ve başka bir hücreyi güncellemeye çalışıyor.
(tekrar tekrar çalıştırın ve eşittir işareti koymak sonra =
olmadan sadece formüller koyarak ve benzeri) oldukça farklı denedik da this post. kontrol etti, ancak aynı sorun.
Buna nasıl yaklaşacağımın hiçbir fikrim yok.
bu diğer işlevidir? Ne yapıyor ve hangi hücreyi güncellemeye çalışıyor? – nwhaught
Bu Excel Interop mu? Formülü doğrudan .FormulaR1C1 yerine .Value veya .FormulaLocal ile dize olarak deneyin. R1C1 şeyinin benim için hiç işe yaramadığını doğru hatırlarsam. – Jaxedin
Ayrıca, sorunuzdaki formül geçerli değil ... '= IF (LEN ([@ Üniteler])> 0, [@ SalesAmount] - [@ DiscountAmount], 0)' demek istiyor musunuz? – nwhaught