I have a spreadsheet with sheets and sheets of Pivot Tables.
Thanks to Bryan Hessey, I have a procedure that loops through all the worksheets and print only the ones whose sheet name begins “XXX”.

Since I have ScreenUpdating = False, the Pivot Table sheets aren’t displayed, they just print. Which was great until...

Now I have added a Worksheet_Activate procedure to refresh the pivot table and reformat the page
Please Login or Register  to view this content.
Now I have three new problems
1. I’d like to turn this task over to someone else who doesn’t need to see what’s going one behind the scenes so displaying the pivot table sheets is a problem.
2. it can’t refresh the pivot table without opening a second spreadsheet where the database is stored. And this new person definitely can’t have access to the database.
3. it’s much slower (minor)

Is there a way to accomplish this?