首页 > 解决方案 > VBA Cdate 解释 DD-MM-YYYY

问题描述

我有一列以 DD-MM-YYYY 格式存储的日期。我正在使用 VBA 的 cdate 函数循环它们以将它们转换为值 - 但是,当月份的日期为 12 或更小时,Cdate 将日期解释为 MM-DD-YYYY。最方便的方法是什么?

标签: excelvba

解决方案


我会使用这个DateSerial函数。试试这个:

Sub ConvertDate()
Dim datecell As Variant, i As Long

With Workbooks("book1").Sheets(1)
    For i = 1 To .Cells(Rows.Count, 1).End(xlUp).Row
        datecell = Split(.Range("A" & i), "/")
        .Range("B" & i) = DateSerial(datecell(2), datecell(1), datecell(0))
    Next i
End With

End Sub

这假设您的工作簿名为“Book1”并且日期值在 A 列中。结果将写入 B 列。


推荐阅读