Excelmacros来格式化date

我有一个在Excel文件中的string值的列。

Col A 20131022082702 20131022082702 20131022082739 20131022082739 

我想将每个单元格值转换为date格式,例如YYYY/MM/DD HH:MM

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

我只是想知道是否有任何内置函数,我们可以使用某种macros来格式化它?

我能想到的一种方法是在子macros中编写子string和编写自定义逻辑。 任何其他的工作,将非常感激!

感谢您的时间。

如果您使用TEXT工作表函数,则可以将其格式化为date/时间戳,Excel会将其转换为“真实”值。 您可以按照自己的意愿格式化:

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

编辑 :在VBA中,可以使用这一行来进行转换。 类似的algorithm,但使用本机VBAfunction:

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

N是你的14位数字

比@罗恩的回答更啰嗦,但另一种方法是将string分离出来:

 =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")