Excel宏格式化日期

时间:2016-08-01 11:55:23

标签: excel vba macros

我在excel文件中有一个包含一些字符串值的列。

   Col A
20131022082702
20131022082702
20131022082739
20131022082739

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

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

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

我能想到的一种方法是使用子字符串并在宏中编写自定义逻辑。任何其他的工作将非常感谢!

感谢您的时间。

2 个答案:

答案 0 :(得分:6)

如果您使用TEXT工作表功能,则可以将其格式化为日期/时间戳,Excel会将其转换为" real"值。然后,您可以根据需要对其进行格式化:

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

编辑:在VBA中,可以使用此行进行转换。类似的算法,但使用本机VBA函数:

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

其中N是您的14位数字

答案 1 :(得分:1)

比@ Ron的回答更冗长,但另一种方法是将字符串分开:

*.iml