Yes, I seem to recall timers are something of a problem in VBA. I think you have to use the OnTime function to get something equivalent. To quote the remarks in the doco from Excel...
Use Now + TimeValue(time) to schedule something to be run when a specific amount of time (counting from now) has elapsed. Use TimeValue(time) to schedule something to be run a specific time.
Well... The limit of the ontime function is 1 second, which doesn't really work for me. Googling for the OnTime function, however, led me to the Windows API calls for setting and stopping timers. This works great. Updating 10 times a second appears realtime, yet doesn't tax the system.
Strangely, I can update the UI directly from the callback function that the timer uses, but I can't do it from a callback function from a COM object. Obnoxious.
Thank you for the help!
- Matt