5

这个问题看起来很简单,但我找不到解决方案(我已经失去了理智:))

好的,所以我只想使用 vba 代码将某个值放入 excel 单元格中,就像这样简单:

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

问题:这是一个字符串(故意),但 excel 总是将其转换为数字,并将该数字放入单元格中,而不是我想要的字符串。

我怎样才能强制excel不转换它,而只是将我想要的(字符串)放入单元格中?

谢谢,

4

3 回答 3

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

注意数字前的单撇号 - 这将向 excel 发出信号,表明后面的任何内容都必须被解释为文本。

于 2013-07-03T16:08:01.353 回答
8

事实上,正如 Tim Williams 所评论的那样,使其工作的方法是预先格式化为文本。因此,要通过 VBA 完成所有操作,只需执行以下操作:

Cells(1, 1).NumberFormat = "@"
Cells(1, 1).Value = "1234,56"
于 2013-07-03T16:17:15.423 回答
0

这可能为时已晚,但是我想从文本变量输入到单元格中的日期也遇到了类似的问题。不可避免地,它将我的变量文本值转换为日期。我最终要做的是将一个 ' 连接到字符串变量,然后将其放入单元格中,如下所示:

prvt_rng_WrkSht.Cells(prvt_rng_WrkSht.Rows.Count, cnst_int_Col_Start_Date).Formula = "'" & _ 
    param_cls_shift.Start_Date (string property of my class) 
于 2014-10-06T00:57:25.990 回答