vba - 使用索引从字符串解析 Visual Basic 日期对象

标签 vba excel date

我想问一下在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/

相关文章:

excel - 保留剪切单元格的格式

ruby-on-rails - 如何使用 Ruby 替换 CSV 中指定列的值?

scala - Scala 中的日期

vba - Word vba - 如果光标在单元格/书签中 - 运行代码

excel - VBA 连接切片器(寻找代码改进)

vba - 对函数的递归调用是否会实例化它?

Java - 获取带有微秒的unix纪元

mysql - 为什么连接字符串只能在开发机器上工作?

excel - 用于在选定单元格中插入文本的按钮

c++ - 输入不传递到函数中