在VBA中比较日期时出现问题?

时间:2019-05-02 09:18:11

标签: vba

我正在尝试使用以下代码比较两个日期:

MsgBox (Format("07-12-2018", "dd-MMM-yyyy") > Format("31-12-2016", "dd-MMM-yyyy"))

尽管第一个日期大于第二个日期,但“消息”框显示为False

1 个答案:

答案 0 :(得分:2)

使用DateValueDateSerial函数代替比较字符串。

DateValue

MsgBox (DateValue("07-12-2018") > DateValue("31-12-2016")) 

这将正确显示True

注意:

  

DateValue根据为系统指定的“短日期”格式识别月,日和年的订单

DateSerial

是本地系统的“短日期”格式的“独立” ,因为它使用了用于年,月和日的单独参数:

MsgBox (DateSerial(2018,12,7) > DateSerial(2016,12,31))