13.04.2021, 12:15
(Dieser Beitrag wurde zuletzt bearbeitet: 13.04.2021, 18:28 von WillWissen.
Bearbeitungsgrund: Codetags
)
Hallo,
ich habe ein Tabellenblatt von dessen Werten in bestimmten Zellen ich Zeilen auf anderen Blättern per Checkboxklick ausblenden lasse.
Hierzu habe ich folgenden Code, der auch funktioniert:
Nun möchte ich hinzu auf weiteren Tabellenblättern Spalten ausblenden lassen. Zu 1 Schülerzahl gehören immer 6 Spalten, angefangen von Spalte "G", also Schülerzahl "1" = G:L, Schülerzahl "2"= G:R, etc.
Ich dachte man könnte das auch so ausdrücken, was allerdings nicht funktioniert.
Das ganze muss bis Schülerzahl 31 laufen. Es geht immer um die gleichen Spalten auf 5 verschiedenen Tabellenblättern.
Man könnte es auch anders formulieren: Pro Schülerzahl sollen immer 6 Spalten mehr eingeblendet werden.
Ich danke für jede Hilfe!
Judith
ich habe ein Tabellenblatt von dessen Werten in bestimmten Zellen ich Zeilen auf anderen Blättern per Checkboxklick ausblenden lasse.
Hierzu habe ich folgenden Code, der auch funktioniert:
Code:
Private Sub CheckBox1_Click()
Dim schuelerzahl As Integer
Dim i As Integer
i = 0
schuelerzahl = Cells(7, 3).Value
If CheckBox1.Value = True Then
i = schuelerzahl + 11
Rows(i & ":" & 41).Hidden = True
i = schuelerzahl + 2
Sheets("LEB Text").Unprotect "Schiller"
Tabelle15.Rows(i & ":" & 33).Hidden = True
Sheets("LEB Text").Protect "Schiller"
i = schuelerzahl * 4 + 6
Sheets("KN 1").Unprotect "Schiller"
Tabelle3.Rows(i & ":" & 133).Hidden = True
Sheets("KN 1").Protect "Schiller"
Sheets("KN 2").Unprotect "Schiller"
Tabelle5.Rows(i & ":" & 133).Hidden = True
Sheets("KN 2").Protect "Schiller"
Sheets("KN 3").Unprotect "Schiller"
Tabelle7.Rows(i & ":" & 133).Hidden = True
Sheets("KN 3").Protect "Schiller"
Sheets("KN 4").Unprotect "Schiller"
Tabelle9.Rows(i & ":" & 133).Hidden = True
Sheets("KN 4").Protect "Schiller"
Sheets("KN 5").Unprotect "Schiller"
Tabelle11.Rows(i & ":" & 133).Hidden = True
Sheets("KN 5").Protect "Schiller"
Sheets("Tests").Unprotect "Schiller"
Tabelle13.Rows(i & ":" & 133).Hidden = True
Sheets("Tests").Protect "Schiller"
ElseIf CheckBox1.Value = False Then
i = schuelerzahl + 11
Rows(i & ":" & 41).Hidden = False
i = schuelerzahl + 2
Worksheets("LEB Text").Unprotect "Schiller"
Tabelle15.Rows(i & ":" & 33).Hidden = False
Sheets("LEB Text").Protect "Schiller"
i = schuelerzahl * 4 + 6
Sheets("KN 1").Unprotect "Schiller"
Tabelle3.Rows(i & ":" & 133).Hidden = False
Sheets("KN 1").Protect "Schiller"
Sheets("KN 2").Unprotect "Schiller"
Tabelle5.Rows(i & ":" & 133).Hidden = False
Sheets("KN 2").Protect "Schiller"
Sheets("KN 3").Unprotect "Schiller"
Tabelle7.Rows(i & ":" & 133).Hidden = False
Sheets("KN 3").Protect "Schiller"
Sheets("KN 4").Unprotect "Schiller"
Tabelle9.Rows(i & ":" & 133).Hidden = False
Sheets("KN 4").Protect "Schiller"
Sheets("KN 5").Unprotect "Schiller"
Tabelle11.Rows(i & ":" & 133).Hidden = False
Sheets("KN 5").Protect "Schiller"
Sheets("Tests").Unprotect "Schiller"
Tabelle13.Rows(i & ":" & 133).Hidden = False
Sheets("Tests").Protect "Schiller"
End If
End Sub
Nun möchte ich hinzu auf weiteren Tabellenblättern Spalten ausblenden lassen. Zu 1 Schülerzahl gehören immer 6 Spalten, angefangen von Spalte "G", also Schülerzahl "1" = G:L, Schülerzahl "2"= G:R, etc.
Ich dachte man könnte das auch so ausdrücken, was allerdings nicht funktioniert.
Code:
Private Sub CheckBox1_Click()
Dim schuelerzahl As Integer
Dim i As Integer
i = 0
schuelerzahl = Cells(7, 3).Value
If CheckBox1.Value = True Then
(...wie oben)
i = schuelerzahl * 6 + 6
Sheets("KR 1-Brief").Unprotect "Schiller"
Tabelle20.Columns(i & ":" & "GP").Hidden = True
Sheets("KR 1-Brief").Protect "Schiller"
ElseIf CheckBox1.Value = False Then
(...wie oben)
i = schuelerzahl * 6 + 6
Sheets("KR 1-Brief").Unprotect "Schiller"
Tabelle20.Columns(i & ":" & "GP").Hidden = False
Sheets("KR 1-Brief").Protect "Schiller"
End If
End Sub
Das ganze muss bis Schülerzahl 31 laufen. Es geht immer um die gleichen Spalten auf 5 verschiedenen Tabellenblättern.
Man könnte es auch anders formulieren: Pro Schülerzahl sollen immer 6 Spalten mehr eingeblendet werden.
Ich danke für jede Hilfe!
Judith