繁体   English   中英

vba 没有正确比较单元格值

[英]vba not comparing cell values correctly

大家好,

我在这里错过了什么吗? 我正在尝试比较两个格式相同的单元格。

我比较它的方式是这样的(不要介意“i”变量,代码在 for 循环内):

If SomeSheet.Cells(i, col).Value <> SomeOtherSheet.Cells(i, 4).Value Then
    result = False
End If

我尝试将值转换为双精度值,但即使认为值相同,我的宏仍然认为它们不同。 当我调试代码并尝试在即时窗口中查看实际值时,它们被认为是相同的:

? SomeSheet.Cells(i, col).Value

310289286,463803

? SomeOtherSheet.Cells(i, 4).Value

310289286,463803

有谁有想法吗?

谢谢!

编辑:正如评论中 bu FaneDuru 所建议的那样,我试图对这些值进行四舍五入,即使我在立即窗口中得到相同的输出,现在比较是正确的。 不知道为什么。 谢谢!

如果result已定义为布尔变量,则默认值为 false。 因此,除非代码的另一部分将result设置为 true,否则它将始终返回 false。

也许尝试这样的事情:

If SomeSheet.Cells(i, col).Value = SomeOtherSheet.Cells(i, 4).Value Then
    result = True
End If

暂无
暂无

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

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