我正在尝试从字符串中提取日期:
2月25日星期四16:13:15太平洋标准时间2016
我的宏进入该函数,但是,它没有正确地将列与i连接,因此它将用于特定的行号。 相反,我得到了这个:
= CONCATENATE(MID(" J"& i,5,6),",",RIGHT(" J"& i,4 ))
请帮我连接。谢谢
Sub FormatDate()
FinalRow = Cells(Rows.Count, 12).End(xlUp).Row
For i = 3 To FinalRow
Cells(i, 12).Formula = "=CONCATENATE(MID(""B"" & i,5,6),"","",RIGHT(""B"" & i,4))"
Next i
End Sub
答案 0 :(得分:1)
你的报价在错误的地方:
Cells(i, 12).Formula = "=CONCATENATE(MID(B" & i & ",5,6),"","",RIGHT(B" & i & ",4))"
答案 1 :(得分:1)
这是一种有点不同的方法,可以产生真实的"日期,您可以在计算中使用,而无需在单元格中输入公式。我确实将其格式化为与公式的结果相同,但您可以根据需要对其进行格式化。
Option Explicit
Sub FormatDate()
Dim FinalRow As Long
Dim V As Variant
Dim I As Long
FinalRow = Cells(Rows.Count, 12).End(xlUp).Row
For I = 3 To FinalRow
V = Split(Cells(I, "B"))
V(1) = Month(DateValue(V(1) & " 01")) 'Change month string into number.
Cells(I, 12) = DateSerial(V(5), V(1), V(2))
Cells(I, 12).NumberFormat = "mmm dd yyyy"
Next I
End Sub
还有其他处理日期的方法:
For I = 3 To FinalRow
V = Split(Cells(I, "B"))
Cells(I, 12) = DateValue(V(1) & " " & V(2) & " " & V(5))
Cells(I, 12).NumberFormat = "mmm dd yyyy"
Next I