There is no event that fires when a sheet is hidden to my knowleadge.
The only thing that I can think of would getting the amount of worksheets that aren't hidden and store the value somewhere (a helper sheet or cell) when workbook is opened.
Then I would use the Workbook_SheetActivate event that fires each time a new worksheet is selected by the user. When it is fired -> loop all worksheets and crossreference if the amount is changed. If it is different run the second macro and store to new value to the helper cell.
Bookmarks