OnChange() Event Using RTD
When cells are updated using the RTD function, the onChange() event for that cell is not triggered. It is not possible to fully recreate this functionality but there are several methods to produce a similar result.
User Defined Function (UDF)
Excel functions are recalculated whenever the value of that functions parameters change. This means that a function can be created in cell A1 with a parameter reference of cell A2. When the value of cell A2 changes, the function in cell A1 will recalculate and give a similar functionality to that of the onChange() event.
There are several limitations to what actions can be performed using this method. For example Excel 2003 will not allow any formatting of cells inside a function and Excel 2007 also places certain restrictions. For more information please see limitations with user defined functions
on the Microsoft website.
The onCalculate() event is called whenever a calculation takes place on the worksheet. When an RTD Server is used, this event is triggered whenever new data is sent to Excel. This means the event is potentially triggered very often if a low throttle interval (see Setting the RTD Throttle Interval
) is used so it is advised to keep any code in this section to a minimum. This event does not have any parameters so it is up to the user to determine which cells have changed during the calculation.