将字符串转入日期Excel-VBA

时间:2017-07-19 19:32:29

标签: excel-vba vba excel

我正在尝试将包含不需要的文本,日期和不需要的时间的字符串转换为仅包含日期的条目。

这是我开始的样本:

"开始时间:2016年10月30日星期日下午3:17:37"

从此我想得到:

" 2016年10月30日"

我尝试使用此代码在字符串中搜索逗号:

Dim fulldate As String, commaposition As Integer

fulldate = Cells(1, 1).Value
commaposition = InStr(fulldate, ",")

Cells(1, 2).Value = Right(fulldate, commaposition)
然而,

然后返回:

" 2016 3:17:37 PM"

因为它似乎选错了逗号。我希望得到另一个逗号,然后我可以继续抽出时间,但唉,我被卡住了。

也许我缺少一些基本功能?我理解循环以及如何操作代码以便在我可以找出基础之后使用多个集合。

2 个答案:

答案 0 :(得分:1)

你也可以使用Mid来获取第一个逗号之后的所有内容。

Cells(1, 2).Value = Mid(Cells(1, 1), commaposition + 2)

答案 1 :(得分:0)

您可以使用Split功能通过分隔符分隔字符串。

Dim fulldate As String

fulldate = Cells(1,1).Value
Cells(1, 2).Value = Split(fulldate,",")(1) & ", " & Left(Trim(Split(fulldate,",")(2)), 4)