有没有办法在 Excel 中将长日期转换为短日期?
Posted
技术标签:
【中文标题】有没有办法在 Excel 中将长日期转换为短日期?【英文标题】:Is there a way to convert a Long Date to short date in Excel? 【发布时间】: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
任何帮助将不胜感激!
【问题讨论】:
您的单元格包含文本或实际日期? 嗨,有趣,也许这可能会引起您的兴趣***.com/questions/29982652/…selection.value = cdate(mid(selection,instr(selection,",")+1))
然后按您的意愿格式化。
@TimWilliams 我的单元格包含“2020 年 9 月 2 日,星期三”作为通用格式。如果我切换格式,它仍然是“2020 年 9 月 2 日,星期三”,所以回答你的问题,包含文本。
【参考方案1】:
正如@scottcraner 所说:
Dim v
With Range("J2")
v = .Value
v = Mid(v, InStr(v, ",") + 1, 100)
.Value = DateValue(v)
End With
【讨论】:
以上是关于有没有办法在 Excel 中将长日期转换为短日期?的主要内容,如果未能解决你的问题,请参考以下文章
如何在EXCEL中将字符转成日期 如19970828转成1997-08-28
如何在sql server中把数据库中的日期字段转换为短日期格式