使用VBA将时间戳文本转换为日期格式

时间:2014-11-03 20:20:17

标签: excel excel-vba vba

我在CSV文件中有以下几种类型的时间戳:数千行:

Oct 1, 2014 - 06:22:25

现在我知道我可以使用公式提取数据,理论上我也可以在VBA中这样做。但是,这似乎是写出所有Worksheetapplication函数的相当混乱的解决方案。

是否有标准功能可以让我这样做? 我希望有人可以为我照亮这个吗?

2 个答案:

答案 0 :(得分:0)

如果我理解你的问题,你就不需要vba。您可以使用公式...我已将您的字符串转换为日期格式。

A1 = Oct 1, 2014 - 06:22:25
B1 = =TEXT(DATEVALUE(MID(A1,1,FIND("-",A1)-2)),"dd/mm/yy")

希望有所帮助

答案 1 :(得分:0)

2种简单的方法。 在这两种情况下,只要你删除了连字符,MS就可以轻松地将你的字符串日期转换为true。 这两种解决方案都嵌入了公式/函数。

<强>公式:

=REPLACE(A1,FIND("-",A1),1,"")

<强> VBA:

Function GetDate(sDate As String) As Date
    GetDate = CDate(Replace(sDate, "-", ""))
End Function