Macro to change the date/time format in a header or footer

For a Microsoft Excel 98 Macintosh Edition version of this article, see 184501 .

For a Microsoft Excel 97 version of this article, see 161607 .


In Microsoft Excel, when you use the date code, &[Date], to insert the date in the header or footer of a document, the date appears in the default "MM/DD/YY" format. The time code, &[Time], appears in the default "H:MM AM/PM" format. These date and time formats are based on the Date and Time tabs in the Regional Settings Properties dialog box.

Note The names of user interfaces in some Windows versions maybe different from those names in the following steps.

To open the Regional Settings Properties dialog box, follow these steps:

  1. On the Start menu, point to Settings and then click Control Panel.
  2. Double-click Regional Settings in the Control Panel to open the Regional Settings Properties dialog box.
To use a date or time format other than the default format, use either of the following methods:

  • Manually type the time or date in the header or footer.
  • Use a Visual Basic for Applications macro to change the format.
This article contains a sample macro that places the current date in the header in the "MMM DD, YYYY" format.

More Information

Microsoft provides programming examples for illustration only, without warranty either expressed or implied. This includes, but is not limited to, the implied warranties of merchantability or fitness for a particular purpose. This article assumes that you are familiar with the programming language that is being demonstrated and with the tools that are used to create and to debug procedures. Microsoft support engineers can help explain the functionality of a particular procedure, but they will not modify these examples to provide added functionality or construct procedures to meet your specific requirements.

Visual Basic for Applications Macro Example

To create a macro that places the current date in the header in the "MMM DD, YYYY" format, follow these steps:

  1. Save and close any open workbooks, and then create a new workbook.
  2. Start the Visual Basic Editor (press ALT+F11).
  3. On the Insert menu, click Module.
  4. Type the following code:
    Sub Change_Format()
    ActiveSheet.PageSetup.CenterHeader = Format(Now, "MMM DD, YYYY")
    End Sub
  5. On the View menu, click Microsoft Excel (or press ALT+F11).
  6. Select cell A1 on the active worksheet and type your name.
  7. On the Tools menu, point to Macro, and then click Macros.

    Note In Excel 2007, if the Developer tab is not available, use the following steps to enable the Macro related options:
    1. Click Microsoft Office Button, and then click Excel Options. In the Popular category, under Top options for working with Excel, select the Show Developer tab in the Ribbon check box, and then click OK.
    2. On the Developer tab, in the Code group, click Macros.
  8. In the Macro dialog box, click Change_Format and click Run.
  9. On the File menu, click Print Preview and verify that the header contains the current date in the format you want.

    Note To preview in Excel 2007, you can click Microsoft Office Button, click the arrow next to Print, and then click Print Preview.