Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

"#NAME?" errors may appear in some cells when you open an Office Excel 2007 .xlsx or .xlsm file in an earlier version of Excel


View products that this article applies to.

Symptoms

In Microsoft Office Excel, when you recalculate a spreadsheet, #NAME? errors may appear in some cells when the following conditions are true:
  • The cells that report the error contain a user-defined worksheet function to an Excel add-in (XLL or UDF Automation add-in).
  • The file format of the spreadsheet file is a Microsoft Office Excel 2007 Open XML file format (.xlsx or .xlsm).
  • You use a version of Excel that is earlier than Excel 2007
  • You use the Microsoft Office Compatibility Pack to automatically translate the Office Open XML Format (OOXML) into the Excel Binary Interchange File Format (BIFF) in Office 2003 and in earlier versions of Office.

↑ Back to the top


Cause

This problem occurs because the Office Open XML file format does not distinguish between internally defined names and externally defined names in the cell formula representation that the format saves in the file. Therefore, when the file is converted to the binary file format (BIFF), the cell formula in the converted file only contains an internally defined name for the XLL function. In earlier versions of Excel, the formula is interpreted as having a range name instead of an XLL function name. Therefore, if the cell is recalculated, Excel may display a #NAME? error because no such range name exists.

↑ Back to the top


Resolution

To resolve the problem, make Excel reevaluate the whole formula and correctly recognize the function name as an XLL defined name. To do this, follow these steps:
  1. In Excel, open the spreadsheet file.
  2. Press CTRL+F. The Find and Replace dialog box appears.
  3. On the Replace tab, type = in the Find What box, and then type = in the Replace With box.
  4. Click Options, and then change the Within setting to Workbook. This step changes the setting for the whole workbook.
  5. Click OK.

    Excel reevaluates all formulas in the workbook.
  6. On the File menu, click Save As. In the Save As dialog box, click Microsoft Office Excel Workbook (*.xls) in the Save as type drop-down list, and then click Save to save the file in the older binary file format.

↑ Back to the top


Status

Microsoft has confirmed that this is a bug in the Microsoft products that are listed in the "Applies to" section.

↑ Back to the top


More information

If you run Excel 2007 and you use XLL functions extensively in your workbooks, consider saving files in the earlier Excel file format if you must share the workbook with other users who may be running earlier versions of Office. This problem does not affect users who run Excel 2007.

↑ Back to the top


Keywords: KB945828, kbbug, kbnofix

↑ Back to the top

Article Info
Article ID : 945828
Revision : 4
Created on : 2/8/2009
Published on : 2/8/2009
Exists online : False
Views : 248