Hallo Marcel,
entschuldige, dass ich erst jetzt reagieren kann.
Nehmen wir an, dass es auf dem Blatt "Tabelle1" 3 Checkboxen mit den Namen Checkbox1, Checkbox2 und Checkbox3 gibt. Die verknüpften Zellen liegen auf dem Blatt "Parameter". Dies sind B1, B2 und B3. In den Zellen C1, C2 und C3 steht jeweils die erste Zeile des Bereiches, der ausgeblendet werden soll, und in D1, D2 und D3 steht jeweils die letzte Zeile des auszublendenden Bereiches. Beispiel: C1=10, D1=15 bedeutet, dass die Zeilen 10-15 ausgeblendet werden, wenn die Checkbox1 deaktiviert ist.
Im VBA-Code zum Blatt "Tabelle1" stehen die drei Change-Prozeduren zu den drei Checkboxen:
Private Sub CheckBox1_Change()
Call HideRows(1)
End Sub
Private Sub CheckBox2_Change()
Call HideRows(2)
End Sub
Private Sub CheckBox3_Change()
Call HideRows(3)
End Sub
In einem Modul steht die Prozedur zum Aus-/Einblenden von Zeilenbereichen, die vollständig parametrisiert ist:
Sub HideRows(i As Integer)
Dim strRowRange As String
With Worksheets("Parameter")
strRowRange = .Cells(i, 3).Value & ":" & .Cells(i, 4).Value
If .Cells(i, 2).Value Then
Rows(strRowRange).EntireRow.Hidden = False
Else
Rows(strRowRange).EntireRow.Hidden = True
End If
End With
End Sub
Das lässt sich natürlich auf beliebig viele Checkboxen erweitern.
Viel Erfolg - Dirk