Hi saksmb and Jewel,
I agree with Jewel.
Here are the details:
1. If a cell is changed manually or by VBA, Workseet_Change() is needed.
2. If a cell is changed manually or by VBA and the old value is needed:
a. A global variable is needed to save the old value.
b. Worksheet_SelectionChange() is needed to identify the value of the old value.
c. Workseet_Change() is needed to identify the new value, and possibly take further action.
3. If a range of values is changed by Formula (including a range containing only one cell):
a. A global array of variables is needed to store the old values.
b. The global array needes to be initialized by Workbook_Open().
c. Worksheet_Calculate() is needed to identify which cells in the range changed value.
See the code below or the attached file which implements all of the above.
Lewis
Code like the following needs to be in ThisWorkbook (Formula changes cells):
Code like the following needs to be in an ordinary module (Formula changes cells):
Code like the following needs to be in the 'Sheet' Module:
Bookmarks