如何比较Excel VBA中的两个日期?

时间:2014-05-29 03:43:34

标签: excel vba date

我在学校项目上工作,比较date1是否等于date2 - 1(date1比date2提前一天)。

date2位于date1下方的一个单元格中。这将放在if / else语句中,比较将返回一个布尔值。

这是我正在处理的代码,

Sub someLoop()

Dim night As Long
night = 1

Dim c As Long

Dim max_rows As Long

max_rows = UsedRange.Rows.Count

For c = 2 To max_rows
    Range("A" & c).Select
    If ActiveCell.Value = ActiveCell.Offset(1, 0).Value2 - 1 Then
        night = night + 1
    Else
        ActiveCell.Offset(0, 2).SetValue = night
        night = 1
    End If

Next c

End Sub

2 个答案:

答案 0 :(得分:0)

Excel中的日期可以像数字一样对待。

所以,如果[A1]有28-May-14而[A2]有29-May-14,那么你可以写下公式:=(A1 = A2-1)

答案 1 :(得分:0)

我会使用DATEDIFF

例如:

dateDiff("d", date2 , date1) = 1

date2 = 28.05.2014date1 = 29.05.2014d定义您希望按天计算差异。