VBA使用string创builddate

我试图用datetypes做简单的任务,但我得到的不是我想要的。 我想用分隔符分割一些单元格的值,并将string值返回给DateValue方法。

我的代码

Dim str2() As String str2() = Split(Cells(ActiveCell.Row, 7).Value, ".") Dim date1 As Date date1 = DateValue(str(0) & "-" + str(1) & "-" & str(2)) 

我想要做的是获得一些特定的date格式。 单元格中的date是这样形成的:26.05.14(day.month.year),我想要这样的格式,如2014-05-26(年 – 月 – 日)。 就这样。 DateValue方法使我的date2000-01-02。 我不知道如何查看str2()数组以查看Split方法后有什么值。 我怎样才能做到这一点 ?

看来VBA与VB.NET是完全不同的……我对VBA没有经验。 谢谢

您将分割的返回值存储到“str2”中,但将variables“str”存储到DateValueinput中,该值在代码中未定义(因此为空)。 通过在项目之上放置“Option Explicit”来避免这种错误,VBA并不像VB.NET那样是强制性的,而是可选的。 这里的代码工作:

 Dim str2() As String str2 = Split(Range("A2").Value, ".") Dim date1 As Date date1 = DateValue(str2(0) & "-" + str2(1) & "-" & str2(2))