2015-01-15 112 views
0

我使用的是Excel VBA,想验证两个日期是一样的。在我的宏中,用户以mm/dd/yy格式输入日期(01/31/15)。当宏运行时,它会打开欧洲用户提交的文件。在该表格中,有一个日期字段,日期以dd/mm/yy格式(31/01/15)输入。我想知道是否有一个简单的方法来比较这两个日期,以验证它们是相同的。比较美国的日期和英国的日期

我可以将其中一个日期转换为其他格式,然后将两者都转换为日期序列以查看它们是否相同。我想查看是否有更简单的方法或功能可以做到这一点。

感谢您的帮助........

+0

你试过只是简单地比较它们呢?我的理解是VBA忽略区域设置,所以当它将'DateValue'变成VBA中的变量时,它应该将其转换为相同的格式。 – Chrismas007 2015-01-15 17:33:02

+2

如果被比较的值是真正的日期,只需比较它们。日期由Excel存储为自1/1/1900(或1/1/1904)以来的天数。格式是(应该)不相关。如果日期不是真正的日期,而是文本字符串或日期不正确,那么首先应该解决这个问题。 – 2015-01-15 17:40:48

回答

0

所以显然MSDN Library has a converter Sub

Function MakeUSDate(DateIn As Variant) As String 

    ' Do nothing if the value is not a date. 
    If Not IsDate(DateIn) Then Exit Function 

    ' Convert the date to a U.S. Date format. 
    MakeUSDate = "#" & Month(DateIn) & "/" & Day(DateIn) & "/" & Year(DateIn) & "#" 
End Function 
相关问题