2013-06-03 60 views
1

我們如何比較vba中的兩個日期字符串,如「01.02.2013 < 02/02/2013」​​?無論日期如何,這總是表現真實。在這個例子中,兩個日期格式是正確的。VBA:比較vba中的兩種日期格式

低於vba代碼會引發錯誤。

Sub aa() 
Dim a As Variant, b As Variant, c As Variant 
a = Format("1.2.2012", "DD\/MM\/YYYY") 
b = Format("2.2.2012", "DD\/MM\/YYYY") 
MsgBox (a) 
End Sub 
+1

這些都不是日期,他們是日期字符串。它們轉換第一次到日期數據類型,然後比較它們。 – RBarryYoung

回答

2

將您的日期(字符串)轉換爲CDate()接受的格式。 2013年2月2日的作品,我認爲02.02.2013沒有。如果需要,使用Replace()

然後,您可以使用CDate(myString)將您的字符串數據轉換爲Date數據類型。日期可以通過常規操作員的方式進行比較,例如> < =。

1

清理琴絃正確的格式(見什麼CDATE接受,然後用CDATE(一)> = CDATE(B)進行比較。

+0

道歉,Aeronth - 沒有看到你的答案,我的是相同的。 – Thomas