My knowledge of VBA is fairly specialized so a lot of the fundamentals aren't quite clear, but this is what I understand about the lifetime of variables and their scope:
A Public variable declared at the top of a module is available to all modules and procedures within that workbook...