Sigh. Myths persist. Call it semantics if you like but errors do not clear VBA variables. It is the choice to reset that does it.use tempvars as suggested in #3.
unlike global variable, tempvars tend to persist even
when you encounter runtime error.
while global vars are destroyed when error occurs on your code.
It is very easy to avoid the reset.