【问题标题】:Convert text date format to date format将文本日期格式转换为日期格式
【发布时间】:2016-12-02 17:43:18
【问题描述】:

我有一个日期为这种格式的文本 - “2016 年 7 月 22 日”。如何使用 Excel-VBA 将其转换为日期格式。

提前致谢。

【问题讨论】:

  • 你能再发布一些你的数据样本吗?
  • 2016 年 7 月 21 日,2016 年 8 月 3 日.. 像这样我会得到数据。

标签: excel vba


【解决方案1】:

一种方法是去掉序数指示符:

Public Function dateOR(s As String) As Date
    ary = Split(s, " ")
    ary(0) = Left(ary(0), Len(ary(0)) - 2)
    dateOR = DateValue(Join(ary, " "))
End Function

如果没有 VBA,您可以使用工作表公式:

=DATEVALUE(SUBSTITUTE(A1,MID(A1,FIND(" ",A1)-2,2),""))

【讨论】:

    【解决方案2】:
    Sub datestuff()
        myDate = "22nd July 2016"
        myDateArray = Split(myDate, " ")
        myDateArray(0) = Trim(Replace(Replace(Replace(Replace(myDateArray(0), "st", ""), "nd", ""), "rd", ""), "th", ""))
        myDate = DateValue(Join(myDateArray, " "))
        Debug.Print myDate ' outputs '22/07/2016'
    End Sub
    

    在我看来,主要问题是白天部分;处理好,剩下的就够简单了吗?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-12
      • 1970-01-01
      • 2014-02-25
      • 1970-01-01
      • 1970-01-01
      • 2023-03-30
      • 2011-08-13
      • 1970-01-01
      相关资源
      最近更新 更多