单元的值转换为数字,而不是“ 000000”.格式



我有一堆字符串以" 0123"的格式存储在阵列中,但是当我试图将它们转移到一系列单元格中时,丢失了引导。如何保留数组的原始价值和格式?例如:

Range("B" & k + 9) = abc(k)  

我尝试了Range("B" & k + 9).valueRange("B" & k + 9).value2Range("B" & k + 9).text,所有这些都给了我同样的东西,这是没有领先0的数字值,例如123,而不是0123

我可以使用NumberFormat函数来化妆显示为0123的结尾值,但是单元格中的内容仍然只是123。我如何包括领先的0

这里的问题是数学上, 0123123的数字恰好相同的值。因此,如果您想与他们计算必须保持数字,并且必须通过更改.NumberFormat来生成领先的0

Range("A1").Value = 123
Range("A1").NumberFormat = "0000"

如果实际上将这些数字视为不想计算的字符串(例如序列号),则可以通过将单元格的.NumberFormat设置为 Text 在将值写入其中:

Range("A1").NumberFormat = "@"
Range("A1").Value = "0123"

如果您不更改.NumberFormat first ,则Excel识别您将数字值写入单元格,并自动将您的字符串转换为数字值。

请注意,您无法再计算该单元格,因为"数字"现在被视为字符串。因此,建议使用第一种方法。

相关内容

最新更新