我需要将CYYMMDD
文本格式的日期提取为DD/MM/YYYY
日期格式
我想我在这里错过了一步,因为在输入“ .Formula”等时没有得到提示
我也肯定有一种更好的方法,而无需先粘贴值
Dim ws As Worksheet, lastRow As Long
Set ws = Worksheets("SALEREP17")
lastRow = ws.Cells(ws.Rows.Count, "B").End(xlUp).Row
With ws.Range("B" & lastRow)
.Copy Destination:=Worksheets("PAGE 4-COMMERCIALS").Cells(17, 3)
End With
Set ws = Worksheets("PAGE 4-COMMERCIALS")
With Cells(17, 2)
.Formula = "=RIGHT(RC[1],2)&""/""&MID(RC[1],4,2)&""/20""&MID(RC[1],2,2)"
.Value = .Value
End With
因此,此操作是从ODBC连接的“上次更改日期”中拉出最下面的一行。然后将其粘贴到“报告”标签中,并将其转换为日期并删除公式
然后我将继续删除(17, 3)
中的文本,但是必须有比这更好的方法吗?
答案 0 :(得分:1)
range("a1").value=dateserial(mid(x,2,2),mid(x,4,2),mid(x,6,2))
,其中x是您的日期。
答案 1 :(得分:1)
这应该可以满足您的需求
Dim ws As Worksheet, lastRow As Long, c As Range
Set ws = Worksheets("SALEREP17")
With ws
lastRow = .Cells(.Rows.Count, "B").End(xlUp).Row
Set c = ws.Cells(lastRow, 2)
Worksheets("PAGE 4-COMMERCIALS").Cells(17, 3).Value = DateSerial(Mid(c, 2, 2), Mid(c, 4, 2), Mid(c, 6, 2))
End With
请注意:(1000 * Left(c, 1))
部分不是严格必需的,除非您希望代码能够运行数百年。