Tutorial: Zeilen und Spalten basierend auf Dropdown-Auswahl dynamisch ein- und ausblenden

Melden

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.

  1. Klicke auf die Zelle, in der das Dropdown erscheinen soll (z. B. Zelle B2).
  2. Gehe im Menüband auf den Reiter Daten -> Datenüberprüfung.
  3. Wähle unter "Zulassen" den Punkt Liste.
  4. Gib bei "Quelle" deine Optionen ein, getrennt durch ein Semikolon, z. B.: Tabelle 1;Tabelle 2;Alle anzeigen
  5. 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.

  1. Klicke mit der rechten Maustaste unten auf den Namen deines Tabellenblatts (z. B. "Tabelle1").
  2. Wähle Code anzeigen.
  3. 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 Rows durch Columns und die Zahlen durch Buchstaben (z. B. Columns("C:E").EntireColumn.Hidden = True).

Schritt 4: Das Makro testen

  1. Schließe das VBA-Fenster (einfach oben rechts auf das X klicken).
  2. Wähle in deinem Dropdown in Zelle B2 nun "Tabelle 1" aus.
  3. Ergebnis: Die Zeilen 11 bis 15 verschwinden sofort.
  4. 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.

  1. Erstelle deine Tabellen auf einem separaten Tabellenblatt (z. B. "Daten").
  2. 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:

  1. Gehe auf Datei -> Speichern unter.
  2. Wähle als Dateityp Excel-Arbeitsmappe mit Makros (.xlsm).

Viel Erfolg beim Ausprobieren!

0