XL98: Format Function May Return an Incorrect Date

ID: Q182244

The information in this article applies to:

SYMPTOMS

In Microsoft Excel 98, if you run a Visual Basic for Applications macro that uses the Format function with a date, you may notice the following problems:

CAUSE

These problems may occur if are using regional settings that use a date order of either day-month-year or year-month-day.

STATUS

Microsoft has confirmed this to be a problem in Microsoft Excel 98 Macintosh Edition.

MORE INFORMATION

On the Macintosh, you can change regional settings by starting the Date & Time control panel and then clicking Date Formats. You can select a date format from the list of regions, or you can select a date format from the Short Date list.

In Microsoft Excel, dates contain three elements: a year, a month, and a day. The order in which these elements are displayed in a date depends on the regional settings in use on the computer; these regional settings vary from country to country. Microsoft Excel mainly uses the three date orders that are listed in the following table.

   Order            July 5, 1998 is represented as
   -----------------------------------------------

   month-day-year   7/5/98
   day-month-year   5/7/98
   year-month-day   98/7/5

On the Macintosh, the first order, month-day-year, is used by default by only the U.S. regional setting. All other regional settings use a default setting of day-month-year.

If you are using any other regional settings and you run a Visual Basic macro that uses the Format function to insert dates into cells or to display a date in a message box, you may encounter the problems described in this article.

Example

You can demonstrate these problems by following these steps:

1. On the Apple menu, point to Control Panels, and click Date & Time.

2. Click Date Formats.

3. In the list of Date Formats, click Australian and then click OK. Close

   the Date & Time control panel.

4. Start Microsoft Excel 98 Macintosh Edition and create a new workbook.

5. On the Tools menu, point to Macro, and click Visual Basic Editor. Then,

   click Module on the Insert menu.

6. Type the following code into the new module:

      Sub Test()

          Range("A1").Value = Format(Date, "General Date")
          Range("A2").Value = Format(Date, "Long Date")
          Range("A3").Value = Format(Date, "Medium Date")
          Range("A4").Value = Format(Date, "Short Date")

      End Sub

7. On the File menu, click "Close and Return to Microsoft Excel."

8. On the Tools menu, point to Macro, and then click Macros. Click Test

   and click Run.

Dates are inserted into cells A1:A4 in the worksheet. Note the following behavior: NOTE: Be sure to switch the regional settings back to the default settings when you are done.

Additional query words: XL98 australian brasil british danish dutch finnish flemish french canadian german italian norwegian spanish swedish swiss french swiss german swiss italian

Keywords          : kbdta kbdtacode xlvbainfo OffVBA xlformat 
Version           : MACINTOSH:98
Platform          : MACINTOSH
Issue type        : kbprb

Last Reviewed: June 10, 1998