Zum Hauptinhalt springen

Wie kann man Spalten in Echtzeit basierend auf Benutzereingaben in Excel ausblenden?

Author: Xiaoyang Last Modified: 2025-08-06

Das Ausblenden von Spalten in Excel mag eine gängige Aufgabe sein, aber haben Sie jemals versucht, Spalten automatisch basierend auf bestimmten Eingabewerten auszublenden? Zum Beispiel: Wenn ich den Text „AA“ in eine Zelle eingebe, wird Spalte A ausgeblendet; wenn ich „BB“ eingebe, werden Spalten B und C ausgeblendet; bei der Eingabe von „CC“ werden Spalten D und E ausgeblendet; bei der Eingabe von „DD“ wird Spalte F ausgeblendet, wie in der folgenden Demo gezeigt. Dieser Artikel bietet einen VBA-Code zur Lösung dieses Problems in Excel.

Verwenden Sie VBA-Code, um Spalten basierend auf Benutzereingaben in Echtzeit auszublenden oder sichtbar zu machen.

Verwenden Sie VBA-Code, um bestimmte Spalten basierend auf Benutzereingaben auszublenden oder sichtbar zu machen.


Verwenden Sie VBA-Code, um Spalten basierend auf Benutzereingaben in Echtzeit auszublenden oder sichtbar zu machen.

Um bestimmte Spalten basierend auf Eingabewerten in Echtzeit auszublenden, wenden Sie bitte den folgenden VBA-Code an:

1. Klicken Sie in dem Arbeitsblatt, in dem Sie Spalten ausblenden möchten, mit der rechten Maustaste auf die Registerkarte des Blatts und klicken Sie dann im Kontextmenü auf „Code anzeigen“, siehe Screenshot.

A screenshot showing how to open the Visual Basic for Applications window in Excel by right-clicking the sheet tab

2. Kopieren Sie im geöffneten Fenster „Microsoft Visual Basic for Applications“ den folgenden VBA-Code und fügen Sie ihn in das Fenster „Sheet (Code)“ ein.

VBA-Code: Spalten basierend auf Benutzereingaben in Echtzeit ausblenden

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Updateby ExtendOffice
xcell = Range("K1").Value
Select Case xcell
Case "AA": Columns("A").EntireColumn.Hidden = False
Columns("A").EntireColumn.Hidden = True
Case "BB": Columns("B:C").EntireColumn.Hidden = False
Columns("B:C").EntireColumn.Hidden = True
Case "CC": Columns("D:E").EntireColumn.Hidden = False
Columns("D:E").EntireColumn.Hidden = True
Case "DD": Columns("F").EntireColumn.Hidden = False
Columns("F").EntireColumn.Hidden = True
Case Else
Columns("A:G").EntireColumn.Hidden = False
End Select
End Sub
Hinweis: Im obigen Code ist „K1“ die Zelle, in die Sie den spezifischen Text eingeben. Sie sollten den Text und die Spaltennamen an Ihre Bedürfnisse anpassen. Außerdem können Sie weitere Kriterien hinzufügen, indem Sie einfach die folgenden Skripte einfügen:
  • Case "AA": Columns("A").EntireColumn.Hidden = False
  • Columns("A").EntireColumn.Hidden = True

A screenshot of the VBA code window in Excel with code pasted to hide columns based on user input

3. Schließen Sie dann das Codefenster. Jetzt wird, wenn Sie „AA“ in Zelle K1 eingeben und die Eingabetaste drücken, Spalte A ausgeblendet; wenn Sie „BB“ eingeben und die Eingabetaste drücken, werden Spalten B und C ausgeblendet, und so weiter. Wenn Sie einen anderen Wert eingeben oder den Inhalt löschen, werden die ausgeblendeten Spalten sofort angezeigt, siehe folgende Demo:


Verwenden Sie VBA-Code, um bestimmte Spalten basierend auf Benutzereingaben auszublenden oder sichtbar zu machen.

In diesem Beispiel werde ich einen Datenbereich basierend auf einem eingegebenen Produktnamen filtern. Wenn ich „Hoodie“ eingebe, wird nur die Hoodie-Information angezeigt und alle anderen Spalten werden sofort ausgeblendet; und wenn ich „All“ eingebe, werden alle Spalten wie in der folgenden Demo angezeigt:

1. Klicken Sie in dem Arbeitsblatt, in dem Sie Spalten ausblenden möchten, mit der rechten Maustaste auf die Registerkarte des Blatts und klicken Sie dann im Kontextmenü auf „Code anzeigen“, siehe Screenshot:

A screenshot showing how to open the Visual Basic for Applications window in Excel by right-clicking the sheet tab

2. Kopieren Sie im geöffneten Fenster „Microsoft Visual Basic for Applications“ den folgenden VBA-Code und fügen Sie ihn in das Fenster „Sheet (Code)“ ein.

VBA-Code: Spalten ausblenden oder sichtbar machen, um Daten basierend auf Benutzereingaben zu filtern.

Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby ExtendOffice
    Dim x As Variant, y As String
     If Target.Address = "$K$1" Then
        y = Target.Value
        With Range("B1:H1")
            Application.ScreenUpdating = False
            .EntireColumn.Hidden = (y <> "All")
            If y <> "All" Then
                For Each x In .Cells
                    If x = y Then x.EntireColumn.Hidden = False
                Next
            End If
            Application.ScreenUpdating = True
        End With
    End If
End Sub
Hinweis: Im obigen Code ist „K1“ die Zelle, in die Sie den spezifischen Text eingeben, „B1:H1“ sind die Zeilenüberschriften, die die Produktnamen enthalten, die Sie filtern möchten.

3. Schließen Sie dann das Codefenster. Jetzt werden, wenn Sie den Produktnamen in Zelle K1 eingeben, nur die entsprechenden Spalten angezeigt, die anderen werden ausgeblendet; und wenn Sie den Text „All“ eingeben, werden alle Spalten wie in der folgenden Demo angezeigt:

Die besten Office-Produktivitätstools

🤖 Kutools AI Aide: Revolutionieren Sie die Datenanalyse basierend auf: Intelligente Ausführung |  Code generieren  |  Benutzerdefinierte Formeln erstellen |  Daten analysieren und Diagramme generieren  |  Erweiterte Funktionen aufrufen
Beliebte Funktionen: Doppelte suchen, hervorheben oder markieren | Leere Zeilen löschen | Spalten oder Zellen ohne Datenverlust zusammenführen | Runden
Erweiterte SVERWEIS: SVERWEIS mit mehreren Kriterien | SVERWEIS für mehrere Werte | Mehrblatt-SVERWEIS | Fuzzy Match
Erweiterte Dropdown-Liste: Dropdown-Liste schnell erstellen | Abhängige Dropdown-Liste | Mehrfachauswahl-Dropdown-Liste
Spalten-Manager: Eine bestimmte Anzahl an Spalten hinzufügen | Spalten verschieben | Sichtbarkeit von ausgeblendeten Spalten umschalten | Bereiche & Spalten vergleichen
Hervorgehobene Funktionen: Gitterfokus | Entwurfsansicht | Erweiterte Formelleiste | Arbeitsmappen- & Blattmanager | AutoText-Bibliothek | Datumsauswahl | Daten zusammenführen | Zellen verschlüsseln/entschlüsseln | E-Mail senden nach Liste | Super Filter | Spezialfilter (Filtern nach Fett/Kursiv/Durchgestrichen...)…
Top15 Toolsets:12 Text-Tools (Text hinzufügen, Bestimmte Zeichen löschen, ...) | 50+ Diagramm typen (Gantt-Diagramm, ...) | 40+ praktische Formeln (Alter basierend auf dem Geburtsdatum berechnen, ...) | 19 Einfüge-Tools (QR-Code einfügen, Bild aus Pfad einfügen, ...) | 12 Konvertierungs-Tools (In Wörter umwandeln, Währungsumrechnung, ...) | 7 Konsolidieren & Aufteilen-Tools (Erweiterte Zeilen zusammenführen, Zellen aufteilen, ...) | ... und mehr
Nutzen Sie Kutools in Ihrer bevorzugten Sprache – unterstützt Englisch, Spanisch, Deutsch, Französisch, Chinesisch und über40 weitere Sprachen!

Steigern Sie Ihre Excel-Kompetenz mit Kutools für Excel und erleben Sie Effizienz wie nie zuvor. Kutools für Excel bietet über300 erweiterte Funktionen, um Ihre Produktivität zu steigern und Zeit zu sparen.Klicken Sie hier, um die Funktion zu erhalten, die Sie am meisten benötigen...


Office Tab bringt die Reiter-Oberfläche in Office und macht Ihre Arbeit so viel einfacher

  • Aktivieren Sie die Bearbeitung und das Lesen in Reitern in Word, Excel, PowerPoint, Publisher, Access, Visio und Project.
  • Öffnen und erstellen Sie mehrere Dokumente in neuen Reitern desselben Fensters, anstatt in neuen Fenstern.
  • Steigert Ihre Produktivität um50 % und reduziert täglich Hunderte von Mausklicks!