Mehrere Zeilen mithilfe von Checkbox aufrufen
#1
Hi,

ich habe ein größere Tabelle und möchte mit Hilfe einer Checkbox nur bestimmte Spalten angezeigt bekommen. (Z.B. nur die Spalten A:A, C:C, E:E usw.)

Mommentan bin nich nur so weit gekommen mehrere Spalten in einer Checkbox "zu vereinen" aber diese nur in der gesamten Tabelle ein- oder auszublenden (s. Beispiel unten)

Da ich leider noch nicht so viel Erfahrung mit Macros habe, komme ich hier einfach nicht weiter.

Danke schon Mal im Vorraus



Code:
Private Sub CheckBox1_Click()
If CheckBox1.Value = True Then
Columns("C:C").Select
    Selection.EntireColumn.Hidden = True
End If
If CheckBox1.Value = False Then
Columns("C:C").Select
    Selection.EntireColumn.Hidden = False
End If
If CheckBox1.Value = True Then
Columns("D:D").Select
    Selection.EntireColumn.Hidden = True
End If
If CheckBox1.Value = False Then
Columns("D:D").Select
    Selection.EntireColumn.Hidden = False
End If
End Sub
Top
#2
Hallo,
Private Sub CheckBox1_Click()
 Columns.Hidden = True
 Range("C1,D1").EntireColumn.Hidden = CheckBox1.Value
End Sub
Gruß Uwe
Top
#3
Hi,

so vielleicht?
Checkbox1 in Spalte A und dann:
Private Sub CheckBox1_Click()
      Columns("B:Z").EntireColumn.Hidden = CheckBox1.Value
      Columns("C:C").EntireColumn.Hidden = Not CheckBox1.Value
      Columns("D:D").EntireColumn.Hidden = Not CheckBox1.Value
End Sub
Top
#4
Hi,

mit Ralfs Ansatz funktuniert es, allerdings sind die Zeilen C+D nur sichtbar wenn der Haken gesetzt wird. Gibts da noch eine Möglichkeit dass die beiden Zeilen trotzdem in der Gesamttabelle angezeigt werden?
Top
#5
Hi,

vielleicht so:
Private Sub CheckBox1_Click()
If CheckBox1 = True Then
   Columns("B:Z").EntireColumn.Hidden = CheckBox1.Value
   Columns("C:C").EntireColumn.Hidden = Not CheckBox1.Value
   Columns("D:D").EntireColumn.Hidden = Not CheckBox1.Value
Else
   Columns("B:Z").EntireColumn.Hidden = CheckBox1.Value
   Columns("C:C").EntireColumn.Hidden = CheckBox1.Value
   Columns("D:D").EntireColumn.Hidden = CheckBox1.Value
   End If
End Sub

oder kürzer:
Private Sub CheckBox1_Click()
   Columns("B:Z").EntireColumn.Hidden = CheckBox1.Value
   If CheckBox1 = True Then
      Range("C1,D1").EntireColumn.Hidden = Not CheckBox1.Value
   Else
      Range("C1,D1").EntireColumn.Hidden = CheckBox1.Value
   End If
End Sub

noch kürzer:
Private Sub CheckBox1_Click()
   Columns("B:Z").EntireColumn.Hidden = CheckBox1.Value
   Range("C1,D1").EntireColumn.Hidden = False
End Sub
Top
#6
Hi Ralf,

1000 Dank. So funktioniert es!
Top
#7
Hallo,

könnte mir einer verraten, was an meinem Code hier nicht funktioniert? Zumal bei Ralf´s Code nicht alle restlichen Spalten ausgeblendet werden.

Gruß Uwe
Top
#8
Hi Uwe,

bei mir kommt dieses:
   

bei Colums.Hidden

Checkbox ist in Spalte C
sonst komplettes Sheet leer
Top
#9
Hi Ralf,

(13.07.2017, 16:36)Rabe schrieb: Checkbox ist in Spalte C

dann ist es klar, dass sich nicht alle Spalten ausblenden lassen. Nun ja ...  Dodgy

Gruß Uwe
Top
#10
Wenn Du alle Spalten ausblendest, dann ist die Checkbox doch sowieso in einer Spalte, die ausgeblendet wird, egal, in welche Du sie reinsetzt.
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste