Microsoft KB Archive/171339

From BetaArchive Wiki

Article ID: 171339

Article Last Modified on 6/18/2005


  • Microsoft Excel 97 Standard Edition

This article was previously published under Q171339


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.


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.


  • 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.


  • 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.


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


  • 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.


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:

151261 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. 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. 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


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


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


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


and press CTRL+ENTER.

  1. Select cell A34. Enter the following formula:


  1. Select cell D34. Enter the following formula:


  1. 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:

142117 XL: Summary of Methods to Recover Data from Corrupted Files

Additional query words: XL97 sr1 recalculation recalc

Keywords: kbbug kbfix kbprogramming kbdtacode kbcode KB171339