【发布时间】:2020-09-01 22:07:50
【问题描述】:
我有一个导出的文件,它以 General 格式为我提供了一个长日期列表。 例如:2020 年 8 月 28 日,星期五
我正在尝试将它们转换为短日期。我尝试使用 CDate 函数,但出现不匹配错误。我觉得这很奇怪,因为单元格具有确切的长日期形式。
我尝试运行大量代码。这是我最近尝试的一个。它将单元格格式更改为长日期。然后使用 Cdate 并得到一个不匹配的错误。
Sub formatdate()
'
' Macro1 Macro
'
Range("J2").Select
Selection.NumberFormat = "[$-F800]dddd, mmmm dd, yyyy"
MsgBox (CDate(Range("J2")))
End Sub
任何帮助将不胜感激!
【问题讨论】:
-
您的单元格包含文本或实际日期?
-
嗨,有趣,也许这可能会引起您的兴趣stackoverflow.com/questions/29982652/…
-
selection.value = cdate(mid(selection,instr(selection,",")+1))然后按您的意愿格式化。 -
@TimWilliams 我的单元格包含“2020 年 9 月 2 日,星期三”作为通用格式。如果我切换格式,它仍然是“2020 年 9 月 2 日,星期三”,所以回答你的问题,包含文本。