VBA 用字符串创建日期

Dea*_*eer 3 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))
Run Code Online (Sandbox Code Playgroud)

我想要做的是获取一些特定的日期格式。单元格中的日期格式如下: 26.05.14 (day.month.year) 我想要这样的格式 2014-05-26(year-month-day)。就这样。DateValue 方法返回给我一个日期 2000-01-02。我不知道如何查看 str2() 数组以查看在 Split 方法之后有哪些值。我怎样才能做到这一点 ?

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

Mat*_*NNZ 5

您将拆分的返回存储到“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))
Run Code Online (Sandbox Code Playgroud)