Вставка значения в ячейку Excel вместо формулы - PullRequest
2 голосов
/ 09 марта 2010

У меня есть сценарий VBA, который вставляет длинные строки в ячейки Excel. В некоторых случаях строка начинается с =. Похоже, что Excel интерпретирует это как формулу, и я получаю ошибку Out of Memory из-за ограничений памяти формул.

Как мне сообщить Excel, что я пишу значение, а не формулу? В настоящее время я делаю это:

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

Я попробовал следующий код, но он не работает ...

ws.Range(...).Value = ....

Ответы [ 2 ]

9 голосов
/ 10 марта 2010

Добавьте ' перед знаком =:

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
3 голосов
/ 09 марта 2010

Добавьте апостроф ' в начало строки (что Excel считает формулой) и Excel должен интерпретировать его как строку вместо формулы.

...