将从 CSV 文件导入的日期转换为 Excel 文件中的正常日期

问题描述 投票:0回答:1

csv 中的日期为 yyyy.mm.dd 已导出到 Excel 文件,我尝试使用 vba 代码对其进行格式化:Sheet1.Columns(18).NumberFormat = "dd/mm/yyyy" 但它保持持久为 yyyy.mm .dd,我该怎么办?这是尝试执行此操作但失败的 vba 代码:

Sub FormatDates()
    Dim rng As Range, cell As Range
    Set rng = Sheet1.Columns(18) ' Assuming your dates are in column 18

    For Each cell in rng
        If IsDate(cell.Value) Then  ' Skip cells already recognized as dates
            cell.NumberFormat = "dd/mm/yyyy" 
        Else 
            cell.Value = DateValue(cell.Value)  ' Convert from text to date
            cell.NumberFormat = "dd/mm/yyyy"
        End If
    Next cell
End Sub
excel vba csv date
1个回答
0
投票

DateValue
没有看到点作为日期分隔符,所以替换它们:

    For Each cell in rng
        If Not IsDate(cell.Value) Then
            ' Convert from text to date.
            cell.Value = DateValue(Replace(cell.Value, ".", "-")) 
        End If
        cell.NumberFormat = "dd/mm/yyyy"
    Next
© www.soinside.com 2019 - 2024. All rights reserved.