Format Dates in Excel with VBA

Many Excel users find it difficult to automate the formatting of dates. Although using standard methods to format dates in Excel is quite straight forward, the automation of formatting dates requires the use of VBA. Watch the training video below to see how we can format dates in Excel quickly and easily with VBA using ‘number format’ and a looping process:

You can view this video on YouTube.

Here’s the complete VBA code:

Sub formatDates()
Dim lastrow As Long
lastrow = Sheet1.Cells(Rows.Count, 1).End(xlUp).Row
‘MsgBox lastrow
For i = 2 To lastrow
‘Cells(i, 2).NumberFormat = (“dd-mm-yyyy”)
‘Cells(i, 2).NumberFormat = (“mm-dd-yyyy”)
‘Cells(i, 2).NumberFormat = (“ddd-mm-yyyy”)
Cells(i, 2).NumberFormat = (“mm-ddd-yyyy”)
Next i
End Sub


Published by

Dinesh Kumar Takyar

Welcome to! My aim is to help you learn MS Excel including VBA. I always felt that a good way to learn something was to find solutions to problems in that domain. That is why I share these Excel videos with you. Mostly these are questions asked during my corporate training sessions. I've been training individuals and companies in computers since 1991. I did my B. Sc. (Vordiplom), M. Sc. (Diplom) and Ph.D. (Dr. rer. nat.) from Hamburg, Germany. The best thing about solving some of my visitor's questions is that I also gain new insights. For more Excel VBA solutions you may like to visit my YouTube channel: For a structured Excel VBA training course online you can visit:

Leave a Reply

Your email address will not be published. Required fields are marked *