excel 通过连接日、月和年的字符串变量,将日期从YYYYMMDD更改为“DD/MM/YYYY

rsl1atfo  于 2023-01-18  发布在  其他
关注(0)|答案(2)|浏览(154)

我有从CSV中提取的数据。
单元格中包含日期YYYYMMDD。例如22020705。
我需要它是“年/月/日”。

For i = 1 To lastRow
    cbhDate = Cells(i, 62)
    resultYear = Left(cbhDate, 4)
    resultDay = Right(cbhDate, 2)
    resultMonth = Mid(cbhDate, 5, 2)
    Cells(i, 62) = resultDay & "/" & resultMonth & "/" & resultYear
Next i

单元格中的输出为7/05/2022,而不是05/07/2022。
列中的数字格式将自动更改为“日期”。
我的电脑设置为澳大利亚日期设置。
如果我加上

Cells(i, 62).NumberFormat = "DD/MM/YYYY"

到这段代码的结尾,这并没有什么不同。

lpwwtiir

lpwwtiir1#

试试这个。

Sub ChangeDateFormat()

    Dim Lastrow As Integer
    
    Lastrow = Cells(Rows.Count, "A").End(xlUp).Row 'Change this column as needed
    
    For i = 1 To Lastrow

        Cells(i, 62).NumberFormat = "dd/mm/yyyy"
            
    Next i

End Sub
zpqajqem

zpqajqem2#

可以使用FormatDateValue将文本日期转换为真实日期:

Dim i As Long
Dim r As Range

For i = 1 To lastRow
    Set r = Cells(i, 62)
    r.Value = DateValue(Format(r.Value, "@@@@\/@@\/@@"))
    r.NumberFormat = "dd/mm/yyyy"
Next

Set r = Nothing

相关问题