我想问一下在VBA中是否有一个内置函数可以根据指定的格式从字符串中解析日期对象。
例如:
dateString = "24-4-12"
VBADateFunc(dateString, "dd-m-yy")
返回一个日期对象,按提供的格式解释 dateString 字符串。
我会欣赏你的想法。
谢谢
最佳答案
干得好:
Public Sub TestMe()
Dim dtMyDate As Date
dtMyDate = Format("24-4-12", "dd-mm-yy")
Debug.Print dtMyDate
Debug.Print Format(dtMyDate, "yyyy")
Debug.Print Format(dtMyDate, "dd-mmm-yy")
'For Non-Europeans:
dtMyDate = Format(DateSerial(2012, 4, 24), "dd-mm-yy")
Debug.Print dtMyDate
Debug.Print Format(dtMyDate, "yyyy")
Debug.Print Format(dtMyDate, "dd-mmm-yy")
End Sub
从评论中 - 通常,日期在 MS Excel 和 VBA 中是一个长值。在即时窗口中可以看到今天的日期:
?clng(now)
42935
如果你想对 42935 值做进一步的事情,你可以这样:
?Format(42934,"dd-mm-yyyy")
注意:对于所有拥有
ActiveWorkbook.Date1904 = False
的人来说,今天是 42934 .对于那些以 1904
开始日历的人, 今天是 42935-4*365-1
关于vba - 使用索引从字符串解析 Visual Basic 日期对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45169994/