VBA:从特定格式的字符串中读取日期

时间:2017-08-24 15:21:13

标签: vba excel-vba excel

我正在寻找一种在VBA中将字符串转换为Date数据类型的方法。我可以使用 CDate()函数来实现此目的,但它使用自己的隐式算法来解析字符串,我想指定自己的格式来区分" DD / MM / YY&# 34;和" MM / DD / YY",例如。

请注意,与Visual Basic不同,VBA没有 DateTime.TryParseExact 功能。

ADD :正如一些答案所示,我可以编写自己的解析器。如果没有内置解决方案,那将是我的选择。

3 个答案:

答案 0 :(得分:1)

做这样的事......

strDate = Split(strDate,"/")
newstrDate = strDate(1) & "/" & strDate(0) & "/" & strDate(2)
strDate = CDate(newstrDate)

答案 1 :(得分:1)

在这种情况下,我会完全避免使用CDate,而是将日期字符串拆分为年,月和日,并使用DateSerial(年,月,日)。这样你就可以完全控制。

答案 2 :(得分:0)

您可以使用以下代码

Msgbox Format("24/01/2017","MMM, DD, YYYY")

这将为您输出Jan, 24, 2017。您可以使用其他格式,单击格式单元格时可以轻松使用。感谢