OK, Ive got a couple of questions;
I'm trying to understand what you're macro is built to do.
If you start this code from the Start_Macro procedure, you are declaring the 'flag' as False, you then call the 'Rerun' procedure.
'Rerun' procedure runs 3 seconds from when it is called
Rerun...