You could test for the ActiveSheet.Name and if it doesn't match what's in the list, then rerun the TOC code.SheetChange Event
This example runs when any worksheet is changed.
Private Sub Workbook_SheetChange(ByVal Sh As Object, _
ByVal Source As Range)
' runs when a sheet is changed
End Sub