我如何使用vba检查日期是否相同?

时间:2014-06-09 16:43:16

标签: vba date equals

我正在尝试在包含日期和时间的单元格上编写代码(例如:2014年1月29日上午9:15)。我正在尝试查看1个单元格中的日期是否与另一个单元格上的日期匹配。我怎么能这样做?

示例:

A1:2/13/14 B1:2/13/14 - 这将返回True

A2:1/15/14 B2:4/25/14 - 这将返回false

我能以任何方式实现这一目标吗?

由于

1 个答案:

答案 0 :(得分:1)

Excel将日期存储为小数,其中整数表示日期,小数表示一天中的时间(例如,0.5 =中午)。整数是自19/1/19以来的天数。因此Excel将1/3/1900 6:00 PM内部存储为3.75

只要将它们格式化为日期,您就可以直接比较它们:

C1 formula: =(A1=B1)
C2 formula: =(A2=B2)

要忽略日期的时间部分,请仅取整数部分:

C1 formula: =(INT(A1)=INT(B1))
C2 formula: =(INT(A2)=INT(B2))

没有真正需要VBA,但如果你想比较VBA中的日期,则适用相同的规则:

Sub CompareDates()
    With ActiveSheet
        .[C1] = (Int(.[A1]) = Int(.[B1]))
        .[C2] = (Int(.[A2]) = Int(.[B2]))
    End With
End Sub