为什么具有相同日期的单元格具有不同的日期序列号



我正在使用一个工作簿,该工作簿的日期和时间包含在两个工作表中。当变量设置为工作表a中的日期时,它将在工作表B中查找该变量,并使用第二个变量检索行号。

我遇到的问题是,当变量1和2匹配时(即日期存在于工作表B中(,它不会认为它们相等。我仔细检查了一下程序,看看是否能找出它们不匹配的原因,结果发现是因为序列日期略有不同。变量1和变量2分别为44027.3333333325和44027.333333。

最后两个数字代表什么?我如何解决这个问题?

我已经确认这些单元格具有相同的自定义格式;变暗";作为同一类型(同时尝试使用double和date(。我需要保留小数以备不时之需。

谢谢

正如Scott Craner在评论中指出的那样,小数代表的是一小部分秒的时间。要在忽略精确时间的情况下比较日期,请使用DateValue函数;这样就没有必要对数据进行四舍五入。

Sub CompareTwoDates()
Dim Date_1 As Date, Date_2 As Date
Date_1 = 44027.3333333325
Date_2 = 44027.3333333333

If DateValue(Date_1) = DateValue(Date_2) Then
MsgBox "The dates are identical.", vbInformation + vbOKOnly, "Date Comparison"
End If
End Sub

关于DateValue函数的更多信息,请点击此处:DateValue函数

Excel日期时间值的小数部分表示时间。两个值之间的0.0000000008差表示大约10微秒,这比Excel以标准日期/时间格式显示的精度更高。如果你只对第二级的精度感兴趣,你可以安全地将值四舍五入到六位小数,这仍然会给你一个精度超过1秒的时间。

最新更新