Zum Hauptinhalt springen

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

Author: Xiaoyang Last Modified: 2025-05-28

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:

Beste Büroproduktivitätswerkzeuge

🤖 Kutools AI-Assistent: Revolutionieren Sie die Datenanalyse basierend auf: Intelligente Ausführung   |  Code generieren  |  Benutzerdefinierte Formeln erstellen  |  Daten analysieren und Diagramme generieren  |  Erweiterte Funktionen aufrufen
Beliebte Funktionen: Finden, Hervorheben oder Doppelte markieren   |  Leere Zeilen löschen   |  Spalten oder Zellen kombinieren ohne Datenverlust   |   Runden ...
Erweiterte SVERWEIS: Mehrfachkriterien SVERWEIS    Mehrfachwert SVERWEIS  |   Mehrblatt-SVERWEIS   |   Fuzzy Match ....
Erweiterte Dropdown-Liste: Schnell Dropdown-Liste erstellen   |  Abhängige Dropdown-Liste   |  Mehrfachauswahl Dropdown-Liste ....
Spaltenmanager: Eine bestimmte Anzahl von Spalten hinzufügen  |  Spalten verschieben  |  Sichtbarkeitsstatus ausgeblendeter Spalten umschalten  |  Bereiche & Spalten vergleichen ...
Hervorgehobene Funktionen: Gitterfokus   |  Entwurfsansicht   |   Erweiterte Formelleiste    Arbeitsmappe & Arbeitsblatt-Manager   |  AutoText-Bibliothek (Auto Text)   |  Datumsauswahl   |  Daten zusammenführen   |  Zellen verschlüsseln/entschlüsseln    E-Mail senden nach Liste   |  Spezialfilter   |   Spezialfilter (Filtern fett/kursiv/durchgestrichen...) ...
Top15 Werkzeugsets12 Textwerkzeuge (Text hinzufügen, Bestimmte Zeichen löschen, ...)   |   50+ Diagramm typen (Gantt-Diagramm, ...)   |   40+ Praktische Formeln (Alter basierend auf dem Geburtsdatum berechnen, ...)   |   19 Einfügewerkzeuge (QR-Code einfügen, Bild aus Pfad einfügen, ...)   |   12 Konvertierungswerkzeuge (In Wörter umwandeln, Währungsumrechnung, ...)   |   7 Konsolidieren & Aufteilen Werkzeuge (Erweiterte Zeilen zusammenführen, Zellen aufteilen, ...)   |   ... und mehr

Verbessern Sie Ihre Excel-Fähigkeiten mit Kutools für Excel und erleben Sie Effizienz wie nie zuvor. Kutools für Excel bietet über300 erweiterte Funktionen zur Steigerung der Produktivität und Zeitersparnis.  Klicken Sie hier, um die Funktion zu erhalten, die Sie am meisten benötigen...


Office Tab bringt eine Registerkartenoberfläche zu Office und macht Ihre Arbeit viel einfacher

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