No problem.
A little more info. You already know that when you drill down, the new sheet name will be Sheet
n.
Assuming that your "static" sheets have "custom" names, you could use:
If InStr(ActiveSheet.Name, "Sheet") = 0 Then Exit Sub
at the start of the code. In simple terms, that's just "if the string
Sheet isn't found in the name of the activated sheet, terminate the procedure".
That
might be the simplest way to supress
Workbook_SheetActivate when switching between the dashboard and the other "static" sheets. So in full, that would be:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If InStr(ActiveSheet.Name, "Sheet") = 0 Then Exit Sub
Application.ScreenUpdating = False
x = ActiveSheet.Name
ActiveSheet.Copy
Application.DisplayAlerts = False
Workbooks("Dashboard.xls").Worksheets(x).Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
to
replace what you already have. HTH