Excel VBA将文本转换为日期



我的日期在"yyyy.mm.dd"格式文本,我想把它们转换成日期。
这个代码可以工作:

x = "2012.01.01"
d = DateSerial(Left(x, 4), Mid(x, 6, 2), Right(x, 2))

但是有没有更简单的方法呢?
我认为这将工作(这应该是直接的),但它没有:

d = Format(x, "yyyy.mm.dd")

对于您的具体示例,请尝试以下操作:

d= Replace(x, ".", "/")
d= Format(CDate(d),"yyyy/mm/dd"))

转换为Date的实际函数:

CDate(d)

从:https://www.techonthenet.com/excel/formulas/cdate.php

Microsoft Excel CDATE函数将值转换为日期。

CDATE函数是Excel中内置的分类函数作为数据类型转换函数。它可以用作VBA函数(VBA)在Excel中。作为VBA函数,您可以在宏中使用该函数通过Microsoft Visual Basic编辑器输入的代码。

所以总结一下:CDATE是转换为Date的实际方法

该格式用于执行字符串格式化-但实际的转换是用CDATE完成的。

Format用于将日期值格式化为文本,而不是转换为日期值。因此:

Dim d As Date
x = "2012.01.01"
d = CDate(Replace(x, ".", "/"))

然后将日期格式应用于要显示这些值的单元格。

相关内容

  • 没有找到相关文章