【发布时间】:2014-12-12 20:44:22
【问题描述】:
我正在尝试使用日期类型执行简单的任务,但我得到的不是我想要的。我想用分隔符拆分一些单元格值并将字符串值返回给 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(year-month-day)。就这样。 DateValue 方法返回一个日期 2000-01-02。 我不知道如何查看 str2() 数组以查看 Split 方法之后的值。我该怎么做?
似乎 VBA 与 VB.NET 完全不同……我对 VBA 没有经验。 谢谢
【问题讨论】:
-
返回的
Cells(ActiveCell.Row, 7).Value是什么?可以试试吗:date1 = CDate(Replace(Cells(ActiveCell.Row, 7).Value, ".", "/")) -
如何检查返回
Cells(ActiveCell.Row, 7).Value的内容?当我将鼠标指向str2()上方时,执行拆分方法后它不会提示我任何内容。另一方面,当我尝试查看它的值时:Dim strCheck1 As String strCheck1 = str2(0)它给了我一个编译错误“下标超出范围” -
date1 = CDate(Replace(Cells(ActiveCell.Row, 7).Value, ".", "/"))给我“类型不匹配”错误。 -
将
MsgBox Cells(activecell.row, 7).Value作为Sub的第一行并告诉我们值是什么 -
对不起。我犯了错误,因为我没有注意到第七列是空的……所以
MsgBox Cells(activecell.row, 7)给我返回了一个空值。当我尝试不为空的MsgBox Cells(activecell.row, 6)时,它返回了 26.05.14 值