Pregunta

Tengo un script VBA que inserta cadenas largas en células de Excel. En algunos casos, la cadena comienza con un =. Parece que Excel interpreta esto como una fórmula y obtengo un Out of Memory Error debido a las limitaciones de memoria de las fórmulas.

¿Cómo le digo a Excel que estoy escribiendo un valor, no una fórmula? Actualmente, estoy haciendo esto:

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

He probado el siguiente código, pero no funciona ...

ws.Range(...).Value = ....
¿Fue útil?

Solución

Agregar un ' antes de = señal:

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

Otros consejos

Agrega un apóstrofe ' Al comienzo de la cadena (que Excel cree que es una fórmula) y Excel debería interpretarla como una cuerda en lugar de una fórmula.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top