Pergunta

Eu tenho um script VBA que insere cordas longas nas células do Excel. Em alguns casos, a corda começa com um =. Parece que o Excel interpreta isso como uma fórmula e eu recebo um Out of Memory erro devido às limitações de memória das fórmulas.

Como digo ao Excel que estou escrevendo um valor, não uma fórmula? Atualmente, estou fazendo isso:

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

Eu tentei o seguinte código, mas não funciona ...

ws.Range(...).Value = ....
Foi útil?

Solução

Anexar a ' antes de o = sinal:

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

Outras dicas

Adicione um apóstrofo ' Para o início da string (que o Excel pensa ser uma fórmula) e o Excel deve interpretá -la como uma string em vez de uma fórmula.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top