在 VBA 中比较日期

lol*_*les 8 vba

我有两个文本框有两个不同的日期,orderDate 和 recievedDate。收到的日期需要手动输入到表单中,我想包括 recievedData 应该在 orderDate 之后发生的验证,我试过:

If txtRecievedDate.Text < txtOrderDate.Text Then

   MsgBox "Incorrect Date, item can't be recieved before order"

else    

  MsgBox "correct date"

End If
Run Code Online (Sandbox Code Playgroud)

这不起作用,例如 RecievedDate 值为“19/11/2013”​​,OrderDate 值为“20/10/2013”​​,尽管这将是一个正确的日期,但此语句仅比较“19”和“20”,因此标记它不正确。

有没有办法比较文本框中的两个日期?为此,我使用 VBA

谢谢

Shi*_*iva 7

以下是修复代码的方法。当然,这不是进行日期计算的最佳方法,您还必须验证 2 个文本框中是否有文本,甚至可能用于CDate()将文本解析为日期值,但这适用于您当前的情况.

If DateDiff("d", txtOrderDate.Text, txtRecievedDate.Text) < 0 Then

   MsgBox "Incorrect Date, item can't be recieved before order"

else    

  MsgBox "correct date"

End If
Run Code Online (Sandbox Code Playgroud)