Excel VBA将stringdate转换为实际date

我正在使用下面的代码,但出于某种原因,第二行不会将其转换为真正的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来改变可能会改变月份或年份的那一天。

您无法确定您应该在哪个位置添加1。 尝试,

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

CDate转换function是您可以获得将接受另一天添加的数字date值的位置。

第二个对我来说可行:

 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