A further thought.
If you are running other code which changes a sheet containing a WorkSheet Change type macro, it is best to add "Application.EnableEvents = False" at the head of the code, resetting it to True at the end (very important - it's not reset by default). This prevents the WorkSheet code from running each time the sheeet is changed by your routines.