I have a date as text in this format - "22nd July 2016". How do I convert it into date format using Excel-VBA.
Thanks in advance.
I have a date as text in this format - "22nd July 2016". How do I convert it into date format using Excel-VBA.
Thanks in advance.
One way is to just strip-off the ordinal indicator:
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
and without VBA you can use the worksheet formula:
=DATEVALUE(SUBSTITUTE(A1,MID(A1,FIND(" ",A1)-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
Seems to me the main issue is the day part; handle that and the rest will be simple enough?