VBA使用字符串创建日期

时间:2014-10-17 09:33:48

标签: excel vba date

我试图用日期类型做简单的任务,但我得到的并不是我想要的。我想用分隔符拆分一些单元格值并将字符串值返回到DateValue方法。

我的代码

Dim str2() As String
str2() = Split(Cells(ActiveCell.Row, 7).Value, ".")

Dim date1 As Date
date1 = DateValue(str(0) & "-" + str(1) & "-" & str(2))

我想要做的是获得一些特定的日期格式。单元格中的日期格式如下:26.05.14(day.month.year),我希望格式为2014-05-26(年 - 月 - 日)。这就是全部。 DateValue方法回溯我2000-01-02的日期。 我不知道如何查看str2()数组以查看Split方法后的值。我怎么能这样做?

似乎VBA与VB.NET完全不同......我对VBA没有经验。 感谢

1 个答案:

答案 0 :(得分:4)

您将拆分的返回存储为“str2”,然后将变量“str”存储到DateValue输入中,该输入未在您的代码中定义(因此它为空)。通过在项目的顶部放置“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))