2016-08-01 199 views
0

我有一個在Excel文件中有一些字符串值的列。Excel宏來格式化日期

Col A 
20131022082702 
20131022082702 
20131022082739 
20131022082739 

我想將每個單元格值轉換爲日期格式,例如YYYY/MM/DD HH:MM

20131022082702 // should be formatted as 2013/10/22 08:27 

我只是想知道是否有任何內置的功能,我們可以使用使用某種宏觀格式化呢?

我能想到的一種方法是採用子字符串並在宏中編寫自定義邏輯。任何其他工作,將非常感謝!

謝謝你的時間。

回答

6

如果您使用TEXT工作表函數,則可以將其格式化爲看起來像日期/時間戳,Excel會將其轉換爲「真實」值。然後,您可以格式化你的願望:

=--TEXT(A1,"0000\/00\/00 00\:00\:00") 

編輯:在VBA中,可以使用這條線做轉換。類似的算法,但使用本機VBA函數:

cdate(format(N,"0000 00 00 00:00:00")) 

其中N是您的14位數字

+0

@Ron簡單的問題,我可以在我的宏中使用相同的功能嗎?其實我想通過宏來獲得這個功能。 – Rockstar

+0

@Rockstar你可以,但我會添加一個使用本機VBA函數的方法 –

+0

感謝@Ron,非常感謝你的幫助! – Rockstar

1

超過@ Ron的答案,但另一種方法是分離串出囉嗦:

=TEXT(DATE(MID(A1,1,4),MID(A1,5,2),MID(A1,7,2))+TIME(MID(A1,9,2),MID(A1,11,2),MID(A1,13,2)),"dd/mm/yyyy hh:mm")