将文本日期格式转换为日期格式

时间:2016-07-28 11:05:12

标签: excel vba

我的日期为此格式的文字 - " 2016年7月22日"。如何使用Excel-VBA将其转换为日期格式。

提前致谢。

2 个答案:

答案 0 :(得分:4)

一种方法是剥离序数指标:

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

enter image description here

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

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

答案 1 :(得分:0)

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

在我看来,主要问题是当天的一部分;处理那个,剩下的就够了吗?