Thread: Date formatting
View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Tom Ogilvy Tom Ogilvy is offline
external usenet poster
 
Posts: 27,285
Default Date formatting

You almost the Demo'd from the imediate window.

e7 = "20050401"
? DATEserial(LEFT(E7,4),MID(E7,5,2),RIGHT(E7,2))
04/01/2005

for simplicity, I made E7 a variable and assigned you string to it. Then
Used the worksheet formula you show, adjusted for VBA.

the Left, Mid and Right functions are not the same ones in Excel, but are
the VBA versions which behave similarly.

--
Regards,
Tom Ogilvy



"Brian Rogge" <brian -at- minnplace dot com wrote in message
. ..
Can someone help me with some vba code for the date function?

what i'm trying to accomplish is to convert the string 20050401 to
04/01/2005.

The formula =DATE(LEFT(E7,4),MID(E7,5,2),RIGHT(E7,2)) works fine for that.
I would like to put it in vba. I've written:

Function new_date(last_done_date) As String
'returns New last_done_date
new_date = Application.Date(Left(last_done_date, 4), Mid(last_done_date,

5,
2), Right(last_done_date, 2))
End Function

But it returns a value error.

last_done_date is the range of cells that contain the date string -

20050401

Thanks,

Brian