Domanda

Ho uno script VBA che inserisce lunghe stringhe in celle di Excel. In alcuni casi, la stringa inizia con un =. Sembra che Excel interpreta questo come una formula e ottengo un errore Out of Memory a causa delle limitazioni di memoria di formule.

Come faccio a dire di Excel che sto scrivendo un valore, non una formula? Attualmente, sto facendo questo:

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

Ho provato il seguente codice, ma non funziona ...

ws.Range(...).Value = ....
È stato utile?

Soluzione

Aggiungere un ' prima del segno =:

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

Altri suggerimenti

Aggiungi un ' apostrofo all'inizio della stringa (che eccellere pensa è una formula) ed Excel dovrebbe interpretarlo come una stringa invece di una formula.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top