I've come across this many times.
What I have finally done is go into the change event
and after the "If Intersect" line, add:
Application.EnableEvents = False
then at the end of the sub, add:
Application.EnableEvents = True
Of course, if you're doing things within the subroutine
that you WANT to use the event handler, you'll have
to add the appropriate statements there...
For debugging purposose, I also created the subs:
Sub Events_Disable
Sub Events_Enable
to use if the sub errors out while the events are disabled.
hope this helps