سؤال

أحاول ملء خلية Excel 2010 برمجيًا عبر COM Interop، بسلسلة تمثل صيغة IF.

يعمل السطر التالي من التعليمات البرمجية بشكل جيد، ويصل إلى القيمة 4 في Excel:

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

ولكن عندما أقوم بتمرير صيغة IF (كسلسلة) ...

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

...لقد واجهت أ COMException, قائلًا: Exception from HRESULT: 0x800A03EC.

إذا قمت بإدخال نفس صيغة IF مباشرة في Excel، فسيتم تحليلها بشكل صحيح.

شكرا لمساعدتك!

كريس

هل كانت مفيدة؟

المحلول

يجب عليك استبدال الفواصل المنقوطة بفواصل واستخدامها .Formula بدلاً من .Value

.Range("C11").Formula= "=IF(1+1=2,2,0)"
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top