Question

J'ai un script VBA qui insère des chaînes longues dans les cellules Excel. Dans certains cas, la chaîne commence par un =. Il semble que Excel interprète cela comme une formule et je reçois une erreur de Out of Memory en raison des limitations de mémoire de formules.

Comment puis-je dire Excel que je suis en train d'écrire une valeur, pas une formule? À l'heure actuelle, je fais ceci:

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

J'ai essayé le code suivant, mais il ne fonctionne pas ...

ws.Range(...).Value = ....
Était-ce utile?

La solution

Append un ' avant le signe =:

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

Autres conseils

Ajoutez un ' de début apostrophe de la chaîne (qu'Excel pense est une formule) et Excel doit l'interpréter comme une chaîne au lieu d'une formule.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top