I have an extensive VBA Script in an Excel 2007 workbook which contains nine modules. The script routinely, though not often, fails due to the loss of variables. When this happens, one or several public variables get lost during the switch to a different module. This module switch occurs when a module is executed by a button on the workbook (I have a Print button and a Save button). For instance, in the Print module I set a strPrinted variable to "Y" when the workbook is printed. In the Save module I check the value of the strPrinted variable and if not "Y" prompt to print the workbook. Occasionally the script fails because strPrinted variable doesn't exist. I have been doing research trying to determine what might be the cause and came across references that say an End Statement command will destroy public variables. This has me wondering whether Exit Sub would be a better choice but I have been unable to determine when to use Exit Sub vs. End Sub. The script failures are only occasional so I may be barking up the wrong tree but insight regarding the usage of End Sub vs. Exit Sub would be appreciated. BrianG