Home Privacy Policy Feedback Link to us Site Map Forums

Excel: Format Function with Dates (VBA only)


In Excel, the Format function takes an expression and returns it as a formatted string.

The syntax for the Format function is:

Format ( expression, [ format, [ firstdayofweek, [firstweekofyear] ] ] )

expression is the value to format.

format is optional. It is the format to apply to the expression. You can either define your own format or use one of the named formats that Excel has predefined such as:

Format Explanation
General Date Displays date based on your system settings
Long Date Displays date based on your system's long date setting
Medium Date Displays date based on your system's medium date setting
Short Date Displays date based on your system's short date setting
Long Time Displays time based on your system's long time setting
Medium Time Displays time based on your system's medium time setting
Short Time Displays time based on your system's short time setting

firstdayofweek is optional. It is a value that specifies the first day of the week. If this parameter is omitted, the Format function assumes that Sunday is the first day of the week. This parameter can be one of the following values:

Constant Value Explanation
vbUseSystem 0 Uses the NLS API setting
VbSunday 1 Sunday (default, if parameter is omitted)
vbMonday 2 Monday
vbTuesday 3 Tuesday
vbWednesday 4 Wednesday
vbThursday 5 Thursday
vbFriday 6 Friday
vbSaturday 7 Saturday

firstweekofyear is optional. It is a value that specifies the first week of the year. If this parameter is omitted, the Format function assumes that the week that contains January 1 is the first week of the year. This parameter can be one of the following values:

Constant Value Explanation
vbUseSystem 0 Uses the NLS API setting
vbFirstJan1 1 The week that contains January 1.
vbFirstFourDays 2 The first week that has at least 4 days in the year.
vbFirstFullWeek 3 The first full week of the year.

Applies To:

  • Excel 2007, Excel 2003, Excel XP, Excel 2000

For example:

Format(#17/04/2004#, "Short Date") would return '17/04/2004'
Format(#17/04/2004#, "Long Date") would return 'April 17, 2004'
Format(#17/04/2004#, "yyyy/mm/dd") would return '2004/04/17'

VBA Code

The Format function can only be used in VBA code. For example:

Dim LValue As String

LValue = Format(Date, "yyyy/mm/dd")

In this example, the variable called LValue would now contain the date formatted as yyyy/mm/dd.