这个问题看起来很简单,但我找不到解决方案(我已经失去了理智:))
好的,所以我只想使用 vba 代码将某个值放入 excel 单元格中,就像这样简单:
Cells(1,1).Value2 = "123,456"
问题:这是一个字符串(故意),但 excel 总是将其转换为数字,并将该数字放入单元格中,而不是我想要的字符串。
我怎样才能强制excel不转换它,而只是将我想要的(字符串)放入单元格中?
谢谢,
这个问题看起来很简单,但我找不到解决方案(我已经失去了理智:))
好的,所以我只想使用 vba 代码将某个值放入 excel 单元格中,就像这样简单:
Cells(1,1).Value2 = "123,456"
问题:这是一个字符串(故意),但 excel 总是将其转换为数字,并将该数字放入单元格中,而不是我想要的字符串。
我怎样才能强制excel不转换它,而只是将我想要的(字符串)放入单元格中?
谢谢,
Cells(1,1).Value2 = "'123,456"
注意数字前的单撇号 - 这将向 excel 发出信号,表明后面的任何内容都必须被解释为文本。
事实上,正如 Tim Williams 所评论的那样,使其工作的方法是预先格式化为文本。因此,要通过 VBA 完成所有操作,只需执行以下操作:
Cells(1, 1).NumberFormat = "@"
Cells(1, 1).Value = "1234,56"
这可能为时已晚,但是我想从文本变量输入到单元格中的日期也遇到了类似的问题。不可避免地,它将我的变量文本值转换为日期。我最终要做的是将一个 ' 连接到字符串变量,然后将其放入单元格中,如下所示:
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)