Vis og skjul et eller flere ark ved afkrydsning

Denne makro viser eller skjuler ark ved afkrydsning i cellerne A1 til og med H1 i Ark1. Et kryds i A1 viser Ark2, et kryds i B1 viser Ark3 og så fremdeles. Fjernes krydset, skjules arket i stedet.

Koden er lige nu indrettet til at kunne skjule 8 ark, men kan nemt udvides til flere kolonner og dermed flere ark. Så skal man bare kopiere fra Case Is til første End If, altså fx

Case Is = "$D$1"
    If UCase(Range(tar).Value) = "X" Then
        Sheets(5).Visible = True
    Else
        Sheets(5).Visible = False
    End If


Sæt det ind et passende sted og ret til, så det ser i den relevante celle, og skjuler det relevante ark. Hvis man prøver at vise/skjule et ark, som ikke findes i mappen kommer der en fejlmeddelelse, både når man skriver x og når man sletter det.

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim tar As String
    tar = Target.Address
    On Error GoTo err

    Select Case tar
        Case Is = "$A$1"
        If UCase(Range(tar).Value) = "X" Then
            Sheets(2).Visible = True
        Else
            Sheets(2).Visible = False
        End If
    Case Is = "$B$1"
        If UCase(Range(tar).Value) = "X" Then
            Sheets(3).Visible = True
        Else
            Sheets(3).Visible = False
        End If
    Case Is = "$C$1"
        If UCase(Range(tar).Value) = "X" Then
            Sheets(4).Visible = True
        Else
            Sheets(4).Visible = False
        End If
    Case Is = "$D$1"
        If UCase(Range(tar).Value) = "X" Then
            Sheets(5).Visible = True
        Else
            Sheets(5).Visible = False
        End If
    Case Is = "$E$1"
        If UCase(Range(tar).Value) = "X" Then
            Sheets(6).Visible = True
        Else
            Sheets(6).Visible = False
        End If
    Case Is = "$F$1"
        If UCase(Range(tar).Value) = "X" Then
            Sheets(7).Visible = True
        Else
            Sheets(7).Visible = False
        End If
    Case Is = "$G$1"
        If UCase(Range(tar).Value) = "X" Then
            Sheets(8).Visible = True
        Else
            Sheets(8).Visible = False
        End If
    Case Is = "$H$1"
        If UCase(Range(tar).Value) = "X" Then
            Sheets(9).Visible = True
        Else
            Sheets(9).Visible = False
        End If
    Case Else
        Exit Sub
    End Select
err:

    If err.Number = 9 Then
        MsgBox "Du kan ikke vise og skjule et ark, som ikke eksisterer. Prøv med et andet ark!", vbCritical + vbOKOnly
    End If

End Sub