有没有一种方法可以在Excel中将长日期转换为短日期?

时间:2020-09-01 22:07:50

标签: excel vba

我有一个导出的文件,以常规格式提供了长日期列表。 例如: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

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

正如@scottcraner所说:

Dim v
With Range("J2")
    v = .Value
    v = Mid(v, InStr(v, ",") + 1, 100)
    .Value = DateValue(v)
End With