两张表的单元格值相等,但是if判断结果为不相等。
Sub 开始校验()
Excel.Application.ScreenUpdating = False
Workbooks.Open filename:="C:\Users\HXJZ\Desktop\VBA\!test\校验文件\G0100.xls"
syzqy01001 = ActiveWorkbook.Sheets(1).Range("c125") '所有者权益
ActiveWorkbook.Close
Workbooks.Open filename:="C:\Users\HXJZ\Desktop\VBA\!test\校验文件\G0800.xls"
syzqy08001 = ActiveWorkbook.Sheets(1).Range("d34") '所有者权益
ActiveWorkbook.Close
'所有者权益
If syzqy01001 = syzqy08001 Then
Sheets(1).Range("b9") = "正确"
Else
Sheets(1).Range("b9") = "错误"
End If
Excel.Application.ScreenUpdating = True
End Sub
校验结果为错误(不相等)
验证:两个的数值类型都是double,如果用int函数,校验结果显示相等。
相等
excel里的double后面有8位小数,你能看见的小数位数只有2位,你看不见的有6位
看起来相等和实际相等不是一个概念
要么相减取绝对值再判断小于一个小数,比如0.0001
要么先乘以100再用int判断