我有以下內容的單元格:天和月被顛倒
2015年1月2日
小區被格式化日期
然後我複製的價值,並把它放在我的模塊中類:
Set Line = New CTravelLine
Line.Date= Cells(1, 8).value
一切工作正常,直到我把另一個單元格該值的時刻:
值01/02/2015變爲02/01/2015。 我使用這種格式(dd/mm/yyyy)。我的印象是,當日子數值低於一個月時,這兩個值是相反的。該值是反轉無論我試過的方法:
方法1:
Dim WrdArray() As String, datetest As String
WrdArray() = Split(travelLine.Date, "/")
datetest= WrdArray(0) & "/" & WrdArray(1) & "/" & WrdArray(2)
Cells(5, 5) = datetest
方法2:
Cells(5, 5) = travelLine.Date
我不明白我怎麼能解決這個問題。在此先感謝您的幫助。
您的Windows區域設置設置爲什麼格式? – Ditto 2015-02-24 13:35:40
首先,您似乎有一個與美國不同的區域設置(VBA的默認設置)。 正如您所注意到的,如果您的日期天數小於月份,則您的格式設置會相應地將其翻轉。但是,您需要知道,它只是格式化單元格中顯示的文本,而不是單元格的實際值。 因此,您的問題是區域設置格式與實際單元格值格式之間的衝突。爲了規避這種情況,最好的辦法是將單元格格式設置爲文本而不是日期。 – 2015-02-24 14:06:02
如果您的單元格包含真實日期值,並且travelLine類的Date屬性是實際的日期類型,則不應該發生這種情況。如果上述任何一種都是文本,您將遇到此問題,並且在處理文本時應該使用CDate。 – Rory 2015-02-24 15:36:05