If you have the data in a text/CSV file then you can try: Data > Import External Data > Import Data
This launches a wizard which lets you specify specific columns as text and that causes symbols like +, - etc not to be parsed by Excel
In VBA this can be done through the Worksheet("foo").QueryTables.Add
method. There are quite a few options but the TextFileColumnDataTypes
property lets you specify which columns to treat as text. It might be easier to work out what is happening by recording a macro of the wizard being used and then editing that to suit
If you're reading in the data more directly (e.g. via ADO or DAO) then just make sure the destination cell is in text format before the data is added
Worksheet("foo").Cells(r, c).NumberFormat = "@"
NB in your original solution, you almost certainly wanted to look at C.Formula
rather than C.Value
If a cell C had a formula of =123+456
then C.Value
would be 579 whereas C.Formula
would be =123+456
+1 on using the built-in Replace
method in this context