Spalten in anderem Blatt ausblenden
Schritt-für-Schritt-Anleitung
Um Spalten in einem anderen Tabellenblatt basierend auf der Auswahl in einem Dropdown-Menü auszublenden, folge diesen Schritten:
-
Öffne das VBA-Editor-Fenster:
- Drücke
ALT + F11, um den VBA-Editor zu öffnen.
-
Füge den Code in das entsprechende Arbeitsblatt ein:
- Doppelklicke auf das Tabellenblatt, in dem sich das Dropdown-Menü befindet (z.B. „Tabelle1“).
- Füge den folgenden Code ein:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$H$20" And LCase(Target.Value) = "nein" Then
Sheets("Tabelle2").Columns("A:I").EntireColumn.Hidden = True
ElseIf Target.Address = "$H$21" And LCase(Target.Value) = "nein" Then
Sheets("Tabelle2").Columns("J:R").EntireColumn.Hidden = True
ElseIf Target.Address = "$H$22" And LCase(Target.Value) = "nein" Then
Sheets("Tabelle2").Columns("S:AA").EntireColumn.Hidden = True
End If
End Sub
-
Schließe den VBA-Editor und gehe zurück zu Excel.
-
Teste die Funktionalität, indem du „NEIN“ im Dropdown-Menü auswählst. Die entsprechenden Spalten in „Tabelle2“ sollten nun ausgeblendet werden.
Häufige Fehler und Lösungen
Alternative Methoden
Falls du keine VBA-Kenntnisse hast oder eine einfachere Lösung bevorzugst, kannst du auch Conditional Formatting (Bedingte Formatierung) verwenden, um die Sichtbarkeit der Daten zu steuern, obwohl dies nicht dasselbe ist wie das Ausblenden von Spalten.
- Wähle die zu formatierenden Spalten aus.
- Gehe zu „Start“ > „Bedingte Formatierung“ > „Neue Regel“.
- Wähle „Formel zur Ermittlung der zu formatierenden Zellen verwenden“ und gib eine entsprechende Formel ein.
Praktische Beispiele
Beispiel 1: Wenn du „NEIN“ in H20 auswählst, sollten die Spalten A bis I in „Tabelle2“ ausgeblendet werden.
Beispiel 2: Bei Auswahl von „NEIN“ in H21 blenden sich die Spalten J bis R aus.
Der VBA-Code von Herbert und GerdL bietet ebenfalls eine gute Grundlage, um Spalten dynamisch auszublenden, je nach Auswahl.
Tipps für Profis
-
Nutze die Intersect-Funktion, um sicherzustellen, dass der Code nur auf die Änderungen in den relevanten Zellen reagiert.
Dim C As Range
Set C = Intersect(Target, Range("H20:H22"))
If Not C Is Nothing Then
' Dein Code hier
End If
-
Halte deinen Code sauber und dokumentiere ihn regelmäßig, um die Wartung zu erleichtern.
FAQ: Häufige Fragen
1. Funktioniert dieser Code in Excel 2016?
Ja, der Code sollte in Excel 2016 und allen späteren Versionen funktionieren.
2. Was tun, wenn der Code nicht funktioniert?
Überprüfe, ob die Makros in Excel aktiviert sind und dass du den Code im richtigen Modul eingefügt hast.