Date在excel vba中添加-1天

时间:2017-07-03 14:18:50

标签: vba excel-vba excel

有谁可以请帮助我。我打算将日期打印为-1天,以防时间在凌晨12:00到凌晨04:00之间。如果是从04:00到11:59:59,Pm应显示当前日期。

我挣扎了很多但没有想要的结果。

If cTime < "04:00:00 AM" Or cTime >= "12:00:00 AM" Then    
    Workbooks("Check").Sheets(1).Cells(lastrow + 1, 1).Value = DateAdd("d", -1, Date)    
Else    
    Workbooks("Check").Sheets(1).Cells(lastrow + 1, 1).Value = Date
End If

1 个答案:

答案 0 :(得分:1)

我不知道cTime是什么,但过去当我处理这样的时间操作时[因为它们很简单],为什么不尝试使用Hour功能呢?

If Hour(Now) >= 0 And Hour(Now) <= 4 Then
    Workbooks("Check").Sheets(1).Cells(lastrow + 1, 1).Value = DateAdd("d", -1, Date)
Else    
    Workbooks("Check").Sheets(1).Cells(lastrow + 1, 1).Value = Date
End If

对于原始代码,您还应该确保使用的是AND,而不是OR。如果当前时间是上午11:00(大致对我而言),则符合条件Hour(Now) > 0 (12AM)。但它不符合标准Hour(Now) < 4 (4AM)。由于它是一个OR,它只需要满足A,而不是A and B