【问题标题】:Force Short Date into UK Format DD-MM-YYYY强制将短日期转换为英国格式 DD-MM-YYYY
【发布时间】:2018-10-14 19:33:18
【问题描述】:

我有将日期序列转换为英国格式短日期的代码。

我通过 C# 程序调用该模块,我得到一个美国格式的日期。

Application.ScreenUpdating = False

Dim x As Workbook
Set x = ActiveWorkbook

Dim WB As Workbook
Workbooks.Open "\\Csdatg04\psproject\Robot\Project Preload\Transactions\Robot WIP\Transactions.csv"
Set WB = ActiveWorkbook
WB.Worksheets(1).Range("J:J").EntireColumn.NumberFormat = "DD/MM/YYYY"
Application.DisplayAlerts = False
x.Save
WB.Save
WB.Close  

如何强制格式为英国日期,或者检查日期是否为英国格式,如果不是,则将结果从美国转换为英国?

【问题讨论】:

标签: excel vba date


【解决方案1】:

这是处理固定日期的一种方法(此处为 ColA)

Sub ImportAndFixDates()

    Dim wb As Excel.Workbook, c As Range, v, arr

    Set wb = Workbooks.Open("C:\Users\UserHere\Desktop\tmp.csv")

    With wb.Sheets(1)
        For Each c In .Range(.Range("A2"), .Cells(.Rows.Count, 1).End(xlUp)).Cells
            v = c.Text
            If v Like "#*/#*/#*" Then Then
                c.NumberFormat = "d/m/yyyy"
                arr = Split(v, "/")
                c.Value = Join(Array(arr(1), arr(0), arr(2)), "/")
            End If
        Next c
    End With

End Sub

【讨论】:

  • 我遇到了类似的问题。我认为它适用于日期 stackoverflow.com/questions/52754387/…) 日期 > 12 仅作为字符串导入。
猜你喜欢
  • 2017-06-24
  • 1970-01-01
  • 1970-01-01
  • 2023-03-15
  • 1970-01-01
  • 1970-01-01
  • 2022-01-25
  • 2012-03-05
  • 2011-02-09
相关资源
最近更新 更多