Try passing the workbook by reference on to the routine that does the work, instead of relying on 'ActiveWorkbook'