Aktuell kann es Probleme bei der Anmeldung mit dem Chrome oder Edge Browser geben. Ihr müsstet in die Einstellungen des Browsers gehen und Cache, Cookies und sofern vorhanden, gespeicherte Passwörter vom CEF löschen oder alternativ auf einen anderen Browser ausweichen. Ursache sind vermutlich kürzliche Browserupdates. x

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