سؤال

لدي برنامج نصي VBA يدرج سلاسل طويلة في خلايا Excel. في بعض الحالات، تبدأ السلسلة ب =. وبعد يبدو أن إكسل يفسر هذا كصيغة وأحصل على Out of Memory خطأ بسبب قيود الذاكرة من الصيغ.

كيف أقول Excel أنني أكتب قيمة، وليس صيغة؟ حاليا، أنا أفعل هذا:

ws.Range("A" & row) = Mid(xml, first, CHUNK_SIZE)

لقد جربت الكود التالي، لكنها لا تعمل ...

ws.Range(...).Value = ....
هل كانت مفيدة؟

المحلول

إلحاق ' قبل = إشارة:

Sub Test()

     'This returns 30 in cell Al
      Range("A1").Value = "=SUM(10,10,10)"

      'This shows formula as text in cell A2
      Range("A2").Value = "'" & "=SUM(10,10,10)"

End Sub

نصائح أخرى

إضافة النقاس ' إلى بداية السلسلة (يفكر Excel أن الصيغة) وينبغي أن تفسر Excel كسلسلة بدلا من صيغة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top