有没有办法在 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

在 Excel 中将月份数从完整日期单元格转换为文本月份

如何在sql server中把数据库中的日期字段转换为短日期格式

如何在android中将字符串转换为日期时间[关闭]

在 SQL(Redshift)中将字符串(43677)转换为日期格式 [关闭]

为啥java用jxl读取excel日期后显示出来的是一些数字呢,我的excel里面的日期格式为2010年5月2日这种