似乎有很多類似的問題,但似乎沒有什麼似乎回答這個問題。VBA將ddmmyyyy文本轉換爲日期
我已經創建了下面的子將文本列轉換爲日期。它適用於某些情況,即日期有8個字符(如10022017),但如果該值有7個字符(如1022017)則不適用。
任何想法都可以使用。
Sub convertDate()
'Find the last Row with data in a Column
Dim lastRow As Long
Dim i As Long
With ActiveSheet
lastRow = .Cells(.Rows.Count, ColumnSelect).End(xlUp).Row
End With
'convert column from string to date
For i = RowSelect To lastRow
Cells(i, ColumnSelect).Value = Format(Cells(i, ColumnSelect).Value, "00/00/0000")
Next i
End Sub
您好再次所有,仍然具有幾個問題,理想的式似乎是= DATEVALUE(TEXT(A1, 「00-00-0000」))如果例如A1 =例如02022017.仍然沒有找到使用VBA執行此操作的最佳方法,因爲所有內容似乎都針對截斷的零問題運行。在此先感謝
謝謝,這是一種路徑我在想的,只是不能完全片一起。 另一個想法是試圖實現工作簿函數datevalue(文本(任何單元格值,「00-00-0000」) –
像這樣'= IF(LEN(A1)= 8,TEXT(DATEVALUE(LEFT A1,2)& 「/」 &MID(A1,3,2) 「/」 &RIGHT(α-1,4)), 「日/月/年」),TEXT(DATEVALUE(LEFT(A1,1)&「/ 「&MID(A1,2,2)&」/「&RIGHT(A1,4)),」dd/mm/yyyy「))' –
或直接:'= DATE(RIGHT(A1,4),LEFT(RIGHT A1,6),2),LEFT(A1,LEN(A1)-6))'並將單元格格式設置爲「dd/mm/yyyy」;) –