Yen,
From the sounds of things Excel, used in this way, is not your ideal development environment. Work-arounds which spring to mind and may or may not be feasible are as follows:
1) Set up Excel worksheet formulae to respond to and on-calculate your workings with live data feed formulae thereby never needing to switch calculation on and off (i.e. cut out VBA!). I guess this is unlikely to work since you want to know what's changed and if its a particular change type then do something, which is not readily done with worksheet formulae.
2) Have a workbook of live data feed formulae with calculation always on. Periodically, lets say every minute, the workbook could record a snapshot of its data state and by comparison with the previous snapshot could produce a change summary report. You could then work with this change summary to do your stuff.
3) Use a different type of data feed with less information and so less required calculation overhead.
4) Learn C++,
VB.NET or other compiled language and write a more optimised program to deal with this.
Maccas