如何将数字转换为string – VBA

我试图把一个数值转化为一个严格的前例。 将10转换为“10”

我试过了

With Range("B2:B" & NewResizeRange) .Value = Range("B2:B" & NewResizeRange).Value .NumberFormat = "0" ' Or .NumberFormat = "@" End With 

但是,我们没有正确转换。 有任何想法吗?

 With Range("A1") .NumberFormat = "@" .Value = .Value End With 

这将使Number stored as text的绿色三angular形显示出来,并意味着您的单元格将确实保存文本值。 但是,当使用这样的单元格作为公式的参数进行计算时,Excel将自行进行一些转换。

如果你不想使用NumberFormat ,你也可以这样做:

Range("A1").value = "=""" & Range("A1").value & """" – 创build一个公式(如果值为10,则公式="10" )强制将值评估为string。

尝试先select你的范围。 所以:

  With Range("B2:B" & NewResizeRange) .Value = Range("B2:B" & NewResizeRange).Value .Select .Selection.NumberFormat = "@" End With 

希望这可以帮助。