2016-07-28 246 views
-5

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

在此先感谢。

+1

它有助于做出努力(并减少噪音)。 – pnuts

+1

[Here。](http://www.google.com/search?q=vba+convert+text+to+date) – vacip

+0

你可以发布更多的你的样本数据吗? – vanathaiyan

回答

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 

在我看来,主要问题是白天的一部分;处理,其余的将会很简单?

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),""))