Hallo Leute!
Ich habe folgendes Problem: Für eine variable Anzahl an Tabellenblättern rechts des Tabellenblattes mit dem Namen 'Quicklinks' versuche ich entweder die Spalten T:U, die Spalten W:V oder die Spalten X:Y einzublenden. Es wird immer nur exakt ein Paar von den dreien gebraucht. Dahinter soll der Druckbereich enden. Zur Zeit nutze ich für das Unterfangen drei Checkboxes mit folgendem Code (wobei die Spalten dementsprechend angepasst werden):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | Private Sub CheckBox10_Click()
Dim wS As Worksheet
If CheckBox1.Value = True Then
For Each wS In Sheets
If wS.Index > Sheets( "Quicklinks" ).Index Then
wS.Columns( "T:U" ).Hidden = False
End If
Next
Else
For Each wS In Sheets
If wS.Index > Sheets( "Quicklinks" ).Index Then
wS.Columns( "T:U" ).Hidden = True
End If
Next
End If
End Sub
|
Dieser Code funktioniert äquivalent einwandfrei für 9 einzelne Spalten, die links von den besagten drei stehen. Nur bei den drei Spaltenpäärchen spinnt er. Aus mir unerklärlichen Gründen werden die Spalten nämlich nur angezeigt, wenn ich folgender Kombination von Checks und Uncheks nachgehe:
Für Spalten T:U:
-
Checke alle drei Boxes, falls noch nicht gecheckt
-
Uncheck Spalten T:U
-
Uncheck Spalten W:V
-
Uncheck Spalten X:Y
-
Check Spalten T:U
Für Spalten W:V:
-
Wiederhole die Prozedur für Spalten T:U und zusätzlich
-
Check W:V
-
Uncheck T:U
Und zu guter letzt für X:Y:
-
Wiederhole die Prozedur für Spalten T:U und zusätzlich
-
Check W:V
-
Check X:Y
-
Uncheck T:U
-
Uncheck W:V
Ein Muster ist demnach ersichtlich. Den Grund warum es aber nicht durch einmaliges Klicken funktioniert, verstehe ich nicht, da die Codes der einzelenen Checkboxes eigentlich nichts miteinader zu tun haben. An dem variablen Teil für die beliebige Anzahl Blätter liegt es m.E.n. nicht. Das funktioniert einwandfrei.
Wäre über jede Hilfe ausgesprochen dankbar!
Gruß
PS Ich weiß, dass der Weg mit den 3 Checkboxen nicht der eleganteste Weg ist, da ich aber Anfänger bin, würde es mir für den Anfang reichen. Lasse mir mich aber auch gerne auf eine elegantere Version ein solange die Implementieerung nicht zu lange dauert.
|