如何使用vba代码将值写入单元格而不进行自动types转换?

这个问题看起来很简单,但我找不到解决scheme(我已经放弃了我的想法:))

好的,所以我只想把一个特定的值放入一个excel单元格,使用vba代码,就像这样简单:

Cells(1,1).Value2 = "123,456" 

问题是:这是一个string(故意),但是excel总是把它转换为数字,并把这个数字放到单元格中,而不是我想要的string。

我如何强制excel不转换它,只是把我想要的细胞(string)?

谢谢,

 Cells(1,1).Value2 = "'123,456" 

注意数字之前的单撇号 – 这将表明,任何后面的内容都必须被解释为文本。

事实上,就像蒂姆·威廉斯(Tim Williams)所评论的那样,使它工作的方式是将文本格式化为格式。 因此,要通过VBA来做到这一点,只要做到这一点:

 Cells(1, 1).NumberFormat = "@" Cells(1, 1).Value = "1234,56" 

这可能太晚了,但是我有一个类似的问题,我想从文本variables中input单元格。 不可避免的是我的variables文本值被转换为date。 我终于必须做的是concatenate a'到stringvariables,然后把它放在单元格中,如下所示:prvt_rng_WrkSht.Cells(prvt_rng_WrkSht.Rows.Count,cnst_int_Col_Start_Date).Formula =“'”&param_cls_shift.Start_Date我的class级的string属性)