繁体   English   中英

VBA中单元格赋值时忽略0

[英]0 is ignored when assigning value to cell in VBA

为什么当我这样做时, ActiveCell.Value = "1.10" ,我最终得到ActiveCell.Value = 1.1

我希望右侧的字符串类型与我为其赋值的单元格的内容完全匹配。

因为它们是作为数字处理的,并且在数学上1.101.1是相等的!

将 1.10 作为文本处理

如果您在数字前使用'

ActiveCell.Value = "'1.10"

它强制 Excel 将其作为文本/字符串处理。 请注意,您将无法再使用它进行计算。

替代方法是将数字格式设置为 taxt,然后添加值

ActiveCell.NumberFormat = "@"
ActiveCell.Value = "1.10"

或者类似的东西

Dim foo As Variant
foo = "1.10"

ActiveCell.Value = "'" & foo

将 1.1 作为数字处理,但对其进行格式化,使其看起来像 1.10

如果你想让它被认为是一个数字(这样你就可以用它来计算)并且仍然让它看起来像一个 2 位小数然后使用

ActiveCell.Value = "1.1"

并正确格式化

ActiveCell.NumberFormat = "#.00"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM