Если у вас есть данные в текстовом / CSV-файле, вы можете попробовать: Data > Import External Data > Import Data
Это запускает мастер, который позволяет вам указывать определенные столбцы в виде текста и который не позволяет синтаксически анализировать символы, такие как +, и т. Д. В Excel
В VBA это можно сделать методом Worksheet("foo").QueryTables.Add
. Вариантов довольно много, но свойство TextFileColumnDataTypes
позволяет указать, какие столбцы следует рассматривать как текст. Возможно, было бы легче понять, что происходит, записав макрос используемого мастера, а затем отредактировав его так, чтобы он соответствовал
Если вы читаете данные более напрямую (например, через ADO или DAO), просто убедитесь, что ячейка назначения находится в текстовом формате, прежде чем данные будут добавлены
Worksheet("foo").Cells(r, c).NumberFormat = "@"
Обратите внимание, что в исходном решении вы почти наверняка хотели бы взглянуть на C.Formula
вместо C.Value
Если бы ячейка C имела формулу =123+456
, тогда C.Value
было бы 579, тогда как C.Formula
было бы =123+456
+ 1 при использовании встроенного метода Replace
в этом контексте