检查Datetime是否在给定的日期时间间隔之间

时间:2018-02-15 15:59:17

标签: excel vba excel-vba date datetime

我有一个看起来像这样的表: enter image description here

我要做的是在给定的日期时间范围内总结一些值。比如说,例如2016年1月1日00:30和01.01.2016 02:00之间。

我的if子句看起来像这样。

If .Cells(i, 3).Value = "Samariter" And .Cells(i, 1).Value >= "01.01.2016 00:30:00" And .Cells(i, 1).Value <= "01.01.2016 02:00:00" Then

如果我运行算法,它会正确运行,但是:

如果我尝试,例如,范围从25.1.2016 20:00到26.1.2016 02:00:

enter image description here

这是我的if子句:

If .Cells(i, 3).Value = "Samariter" And .Cells(i, 1).Value >= "25.01.2016 20:00:00" And .Cells(i, 1).Value <= "26.01.2016 02:00:00" Then

如果我运行它,它将从正确的行开始,但将超过日期时间间隔的上限。

这里有什么问题?

1 个答案:

答案 0 :(得分:0)

Xabier的答案解决了这个问题,if-clause应该是这样的,以便算法正常运行:

If .Cells(i, 3).Value = "Samariter" And DateDiff("s", .Cells(i, 1).Value, "25.01.2016 00:00:00") < 0 And DateDiff("s", .Cells(i, 1).Value, "31.01.2016 23:59:59") >= 0 Then