Tutorial: Zeilen und Spalten basierend auf Dropdown-Auswahl dynamisch ein- und ausblenden
Hier ist ein ausführliches Tutorial, wie du in Excel Zeilen oder Spalten basierend auf einer Dropdown-Auswahl ein- und ausblendest oder zwischen verschiedenen Tabellen wechselst.
Wir nutzen hierfür VBA (Makros), da dies der einzige Weg ist, um Zeilen/Spalten wirklich "physisch" zu verstecken.
Diese Anleitung zeigt dir, wie du eine Steuerung erstellst, bei der sich das Tabellenlayout automatisch anpasst, wenn du eine Option aus einem Dropdown-Menü wählst.
Schritt 1: Das Dropdown-Menü erstellen
Zuerst legen wir fest, wo der Benutzer seine Auswahl treffen kann.
- Klicke auf die Zelle, in der das Dropdown erscheinen soll (z. B. Zelle B2).
- Gehe im Menüband auf den Reiter Daten -> Datenüberprüfung.
- Wähle unter "Zulassen" den Punkt Liste.
- Gib bei "Quelle" deine Optionen ein, getrennt durch ein Semikolon, z. B.:
Tabelle 1;Tabelle 2;Alle anzeigen - Bestätige mit OK.
Schritt 2: Den VBA-Editor öffnen
Da Excel keine Standardfunktion zum automatischen Ausblenden von Zeilen besitzt, nutzen wir ein kleines Skript.
- Klicke mit der rechten Maustaste unten auf den Namen deines Tabellenblatts (z. B. "Tabelle1").
- Wähle Code anzeigen.
- Es öffnet sich das Fenster von "Microsoft Visual Basic for Applications".
Schritt 3: Den VBA-Code einfügen
Kopiere den folgenden Code und füge ihn in das große weiße Textfeld ein.
Hinweis: In diesem Beispiel gehen wir davon aus, dass Tabelle 1 in den Zeilen 5-10 liegt und Tabelle 2 in den Zeilen 11-15.
Private Sub Worksheet_Change(ByVal Target As Range)
' Überprüfen, ob die Änderung in der Dropdown-Zelle (B2) erfolgt ist
If Not Intersect(Target, Range("B2")) Is Nothing Then
' Bildschirmaktualisierung ausschalten für bessere Performance
Application.ScreenUpdating = False
' Zuerst alle Zeilen einblenden (Bereich anpassen)
Rows("5:15").EntireRow.Hidden = False
' Je nach Auswahl Zeilen ausblenden
Select Case Range("B2").Value
Case "Tabelle 1"
' Blende Zeilen für Tabelle 2 aus (Zeile 11 bis 15)
Rows("11:15").EntireRow.Hidden = True
Case "Tabelle 2"
' Blende Zeilen für Tabelle 1 aus (Zeile 5 bis 10)
Rows("5:10").EntireRow.Hidden = True
Case "Alle anzeigen"
' Nichts ausblenden (wurde oben bereits erledigt)
End Select
Application.ScreenUpdating = True
End If
End Sub
Anpassung des Codes:
- Range("B2"): Ändere dies in die Zelle, in der dein Dropdown liegt.
- Rows("5:15"): Dies ist der gesamte Bereich, der gesteuert werden soll.
- Rows("11:15") / Rows("5:10"): Ändere diese Zahlen auf die Zeilennummern, die du tatsächlich verstecken willst.
- Spalten ausblenden? Ersetze einfach
RowsdurchColumnsund die Zahlen durch Buchstaben (z. B.Columns("C:E").EntireColumn.Hidden = True).
Schritt 4: Das Makro testen
- Schließe das VBA-Fenster (einfach oben rechts auf das X klicken).
- Wähle in deinem Dropdown in Zelle B2 nun "Tabelle 1" aus.
- Ergebnis: Die Zeilen 11 bis 15 verschwinden sofort.
- Wähle "Alle anzeigen", um das gesamte Blatt wieder zu sehen.
Alternative: Die "Moderne" Lösung ohne VBA (nur für Office 365 / Excel 2021)
Wenn du keine Zeilen verstecken willst, sondern nur die Daten einer bestimmten Tabelle an einer zentralen Stelle anzeigen möchtest, kannst du die neue Funktion FILTER nutzen.
- Erstelle deine Tabellen auf einem separaten Tabellenblatt (z. B. "Daten").
- Nutze auf deinem Hauptblatt in einer Zelle folgende Formel:
=WENN(B2="Tabelle 1"; FILTER(Daten!A5:C10; Daten!A5:A10<>""); FILTER(Daten!A11:C15; Daten!A11:A15<>""))
Vorteil: Funktioniert ohne Makros. Nachteil: Es blendet keine leeren Zeilen der restlichen Excel-Oberfläche aus, sondern zeigt nur die Inhalte dynamisch an.
Wichtiger Hinweis zum Speichern!
Da du nun VBA-Code in deiner Datei hast, musst du die Datei in einem speziellen Format speichern:
- Gehe auf Datei -> Speichern unter.
- Wähle als Dateityp Excel-Arbeitsmappe mit Makros (.xlsm).
Viel Erfolg beim Ausprobieren!