我正在寻找一种在VBA中将字符串转换为Date数据类型的方法。我可以使用 CDate()函数来实现此目的,但它使用自己的隐式算法来解析字符串,我想指定自己的格式来区分" DD / MM / YY&# 34;和" MM / DD / YY",例如。
请注意,与Visual Basic不同,VBA没有 DateTime.TryParseExact 功能。
ADD :正如一些答案所示,我可以编写自己的解析器。如果没有内置解决方案,那将是我的选择。
答案 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
。您可以使用其他格式,单击格式单元格时可以轻松使用。感谢