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
|