XL97: Linked Cell Changes Before Sheet Is Completely Calculated

ID: Q169877


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


SYMPTOMS

When you choose a value in an ActiveX control, the value of the linked cell does not match the value you select in the control.


CAUSE

This problem occurs when the values in the ActiveX control are derived from formulas or functions that are recalculated when the worksheet changes. For example, the problem occurs if you create a ListBox control that is populated by a range of cells on the worksheet and the values in the cells are calculated using a volatile function.


WORKAROUND

To work around this problem, use the manual Calculation method for the workbook. To correctly use the calculation method for the workbook, do the following:

  1. On the Tools menu, click Options.


  2. In the Calculation tab, click Manual. Click OK.



STATUS

Microsoft has confirmed this to be a problem in the Microsoft products listed at the beginning of this article.


MORE INFORMATION

In Microsoft Excel 97, you can insert ActiveX controls on a worksheet and populate the control with data on the worksheet by using the ListFillRange property. However, if the data is volatile, cell linked to the control may be recalculated before the data updates the control. This causes the linked cell to be different from the value you select in the control.

Functions that are recalculated automatically when data in the worksheet changes are volatile functions. The following functions are volatile:

AREAS()
INDEX()
OFFSET()
CELL()
INDIRECT()
ROWS()
COLUMNS()
NOW()
RAND()
For additional information about volatile functions, please see the following article in the Microsoft Knowledge Base:
Q81856 Excel: Functions Recalculated If New Data or Cells Entered

Additional query words: XL97 list box edit combination dropdown

Keywords :
Version : WINDOWS:97
Platform : WINDOWS
Issue type : kbprb


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