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

时间:2015-07-21 00:10:51

标签: excel vba excel-vba excel-2010 excel-2007

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

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到那天可能也会改变月份或年份的日子。

2 个答案:

答案 0 :(得分:3)

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

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

CDate conversion function是您获得可以接受另外一天的数字日期值的地方。

答案 1 :(得分: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