ID: Q169885
The information in this article applies to:
A change event macro that is assigned to an ActiveX control on a worksheet runs when the worksheet is recalculated instead of running when you change the control value.
This problem occurs when you assign the ListFillRange property of the control to either of the following:
-or-
To prevent the change event from running unexpectedly, do not assign its ListFillRange property to a defined name or to a cell that contains a function that is calculated whenever the worksheet changes (a volatile function).
This behavior is by design of Microsoft Excel 97.
In Microsoft Excel 97, you can insert controls, for example a list box, drop down, and edit box, into a worksheet. The ListFillRange property of the control can be used to populate the control with information from the worksheet. However, when you assign a macro to the change event for the control and the data that populates the control contains a volatile function, the change event macro may run whenever the worksheet is recalculated.
Functions that are recalculated whenever the worksheet changes are volatile functions. The following functions are volatile:
AREAS()
INDEX()
OFFSET()
CELL()
INDIRECT()
ROWS()
COLUMNS()
NOW()
RAND()
For additional information volatile functions, please see the following
article in the Microsoft Knowledge Base:
Article-ID: Q81856
TITLE : Excel: Functions Recalculated If New Data or Cells Entered
For more information about ActiveX controls, click the Index tab in Microsoft Excel 97 Help, type the following text
ActiveX
and then double-click the selected text to go to the "Add buttons, check
boxes, or other controls to a worksheet" topic.
Additional query words: 97 XL97 drop down combo box list box text box check box option button
Keywords : kbprg
Version : WINDOWS:97
Platform : WINDOWS
Issue type : kbprb
Last Reviewed: October 31, 1998