Excel VBA 将字符串日期转换为实际日期

Excel VBA Convert String Date to a real date

我正在使用以下代码,但出于某种原因,第二行没有将其转换为实际日期。

DateStr = Replace(DateStr, "-", "/")
DateStr = Format(CDate(DateStr), "dd/mm/yyyy")
DateStr = DateStr + 1

即使我这样做:

Dim RealDate As Date

DateStr = Replace(DateStr, "-", "/")
RealDate = Format(CDate(DateStr), "dd/mm/yyyy")
RealDate = RealDate + 1

正如您从第 3 行看到的那样,我正在尝试 +1 到日期,这也可能会更改月份或年份。

第二个适合我:

Sub Tester()

    Dim RealDate As Date, DateStr As String

    DateStr = "7-20-2015"

    DateStr = Replace(DateStr, "-", "/")
    RealDate = Format(CDate(DateStr), "dd/mm/yyyy")
    RealDate = RealDate + 1

    Debug.Print RealDate '>> 7/21/2015

End Sub

您无法确定应该将日期加 1 的位置。试试,

DateStr = Format(CDate(DateStr) + 1, "dd/mm/yyyy")

CDate conversion function 是您获取将接受添加另一天的数字日期值的地方。