XL97: Some Values Not Recalculated When Using Multiple Formulas

ID: Q171339


The information in this article applies to:
  • Microsoft Excel 97 for Windows


SYMPTOMS

In Microsoft Excel 97, formulas in a worksheet that refer to other cells that also contain formulas may not be recalculated properly when the referenced cells change. As a result, the worksheet may contain values that are not updated.


CAUSE

This problem may occur when all of the following conditions are true:

  • You are working with a worksheet in which a range of 18 or more cells are in the same row.

    -and-


  • Each of these cells contains a formula that refers to the cell directly to the left.

    For example, cell B33 refers to cell A33, cell C33 refers to cell B33, cell D33 refers to cell C33, and so on.

    -and-


  • The range of cells is in a row with a row number that is a multiple of 16 plus 1.

    For example, row 17 is divisible by 16 with a remainder of 1, as are rows 33, 49, 65, and so on.

    -and-


  • A formula in a different cell refers to one of the cells in the range.

    -and-


  • A formula in any cell refers to any cell above the range of 18 or more cells.


For an example of this problem, see the "More Information" section in this article.


RESOLUTION

To correct this problem, obtain Microsoft Excel 97 Service Release 2 (SR-2).

For additional information about SR-2, please see the following article in the Microsoft Knowledge Base:

Q151261 OFF97: How to Obtain and Install MS Office 97 SR-2
If you are unable to obtain SR-2, you can use either of the following methods to recalculate the entire workbook.
  • Press CTRL+ALT+F9. When you use this key combination, Microsoft Excel completely recalculates all cells in all open workbooks.


  • Create and run a Microsoft Visual Basic for Applications Sub procedure to recalculate all cells in all open workbooks.


Microsoft provides programming examples for illustration only, without warranty either expressed or implied, including, but not limited to, the implied warranties of merchantability and/or fitness for a particular purpose. This article assumes that you are familiar with the programming language being demonstrated and the tools used to create and debug procedures. Microsoft support professionals 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 needs. If you have limited programming experience, you may want to contact a Microsoft Certified Solution Provider or the Microsoft fee-based consulting line at (800) 936-5200. For more information about Microsoft Certified Solution Providers, please see the following page on the World Wide Web:

http://www.microsoft.com/mcsp/
For more information about the support options available from Microsoft, please see the following page on the World Wide Web:

http://www.microsoft.com/support/supportnet/overview/overview.asp
The following sample procedure will recalculate all values in the workbook each time it is opened. Note that this procedure recalculates the workbook only once each time it is opened.

Private Sub Workbook_Open()
    Application.SendKeys "^%{F9}"
End Sub 
NOTE: Do not attempt to use a Worksheet_Activate or a Worksheet_Calculate procedure to recalculate the values. If you do this, a recursive process begins, and Microsoft Excel 97 performs very slowly.

For example, do not use the following procedures:

Private Sub Worksheet_Activate()
    Application.SendKeys "^%{F9}"
End Sub 
-or-

Private Sub Worksheet_Calculate()
    Application.SendKeys "^%{F9}"
End Sub 


STATUS

Microsoft has confirmed this to be a problem in the Microsoft products listed at the beginning of this article. This problem was corrected in Microsoft Office 97 Service Release 2 (SR-2).


MORE INFORMATION

Example of the Problem

To demonstrate the problem described in the "Symptoms" section of this article, follow these steps:

  1. In Microsoft Excel 97, create a new workbook.


  2. Select the range D33:U33. Type the following formula

    =C33+1

    and press CTRL+ENTER.


  3. Select cell A34. Enter the following formula:

    =A32


  4. Select cell D34. Enter the following formula:

    =D33


  5. Enter any value in cell C33.


Note that the value in cell D34, 1, is not recalculated and does not match the value in cell D33. If you press CTRL+ALT+F9, the formula in D34 is recalculated correctly.

NOTE: If this problem occurs, your workbook has not necessarily become corrupted or damaged. However, if you are concerned about possible workbook corruption, please see the following article in the Microsoft Knowledge Base:
Q142117 XL: Summary of Methods to Recover Data from Corrupted Files

Additional query words: XL97 sr1 recalculation recalc

Keywords : kbcode kbprg kbdta kbdtacode
Version : WINDOWS:97
Platform : WINDOWS
Issue type : kbbug


Last Reviewed: August 3, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.