Note: The other languages of the website are Google-translated. Back to English

Wie verstecke ich Spalten in Echtzeit basierend auf Benutzereingaben in Excel?

Es mag für die meisten von uns eine häufige Aufgabe sein, Spalten in Excel auszublenden, aber haben Sie jemals versucht, Spalten basierend auf bestimmten Eingabewerten automatisch auszublenden? Wenn ich zum Beispiel den Text „AA“ in eine Zelle eingebe, wird die Spalte A ausgeblendet; wenn ich „BB“ eingebe, werden die Spalten B und C ausgeblendet; bei Eingabe von „CC“ werden die Spalten D und E ausgeblendet; Bei der Eingabe von „DD“ wird die Spalte F ausgeblendet, wie in der folgenden Demo gezeigt. Dieser Artikel erstellt einen VBA-Code zum Lösen in Excel.

Blenden Sie Spalten basierend auf Benutzereingaben mit VBA-Code in Echtzeit ein oder aus

Blenden Sie Spalten ein oder aus, um Daten basierend auf Benutzereingaben mit VBA-Code zu filtern


Blenden Sie Spalten basierend auf Benutzereingaben mit VBA-Code in Echtzeit ein oder aus

Um die spezifischen 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 Blattregisterkarte, und klicken Sie dann auf Code anzeigen aus dem Kontextmenü, siehe Screenshot

2. In der geöffneten Microsoft Visual Basic für Applikationen Kopieren Sie den folgenden VBA-Code und fügen Sie ihn in das Fenster ein Blatt (Code) Fenster.

VBA-Code: Ausblenden von Spalten in Echtzeit basierend auf Benutzereingaben

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, K1 ist die Zelle, in die Sie den spezifischen Text eingeben, und Sie sollten die Texte und Spaltennamen nach Bedarf ändern. Darüber hinaus können Sie weitere neue Kriterien hinzufügen, indem Sie einfach die folgenden Skripte hinzufügen:
  • Fall "AA": Columns("A").EntireColumn.Hidden = False
  • Spalten("A").EntireColumn.Hidden = True

3. Schließen Sie dann das Codefenster. Geben Sie nun „AA“ in Zelle K1 ein und drücken Sie Weiter Taste, die Spalte A ist ausgeblendet; bei der Eingabe von „BB“ und drücken Sie Weiter Taste, die Spalten B und C werden ausgeblendet und so weiter. Wenn Sie einen anderen Wert eingeben oder den Inhalt löschen, werden die ausgeblendeten Spalten sofort angezeigt, siehe folgende Demo:


Blenden Sie Spalten ein oder aus, um Daten basierend auf Benutzereingaben mit VBA-Code zu filtern

In diesem Beispiel werde ich einen Datenbereich basierend auf einem eingegebenen Produktnamen filtern. Wenn ich „Hoodie“ eingebe, werden nur Hoodie-Informationen angezeigt und andere Spalten werden sofort ausgeblendet; und wenn ich „Alle“ eingebe, werden alle Spalten wie unten gezeigt angezeigt:

1. Klicken Sie in dem Arbeitsblatt, in dem Sie Spalten ausblenden möchten, mit der rechten Maustaste auf die Blattregisterkarte, und klicken Sie dann auf Code anzeigen Siehe im Kontextmenü Screenshot:

2. In der geöffneten Microsoft Visual Basic für Applikationen Kopieren Sie den folgenden VBA-Code und fügen Sie ihn in das Fenster ein Blatt (Code) Fenster.

VBA-Code: Blenden Sie Spalten ein oder aus, 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, K1 ist die Zelle, in die Sie den spezifischen Text eingeben, B1: H1 enthalten die Zeilenüberschriften den Produktnamen, den Sie filtern möchten.

3. Schließen Sie dann das Codefenster. Wenn Sie nun den Produktnamen in Zelle K1 eingeben, werden nur die entsprechenden Spalten angezeigt, die anderen werden ausgeblendet; und wenn Sie den Text „Alle“ eingeben, werden alle Spalten wie unten gezeigt angezeigt:


Die besten Tools für die Office-Produktivität

Kutools für Excel löst die meisten Ihrer Probleme und erhöht Ihre Produktivität um 80%

  • Wiederverwendung: Schnell einfügen komplexe Formeln, Diagramme und alles, was du vorher benutzt hast; Zellen verschlüsseln mit Passwort; Mailingliste erstellen und E-Mails senden ...
  • Super Formelriegel (leicht mehrere Textzeilen und Formeln bearbeiten); Layout lesen (leichtes Lesen und Bearbeiten einer großen Anzahl von Zellen); In gefilterten Bereich einfügen...
  • Zellen / Zeilen / Spalten zusammenführen ohne Daten zu verlieren; Inhalt geteilter Zellen; Kombinieren Sie doppelte Zeilen / Spalten... doppelte Zellen verhindern; Bereiche vergleichen...
  • Wählen Sie Duplizieren oder Eindeutig Reihen; Wählen Sie Leere Zeilen (alle Zellen sind leer); Super Find und Fuzzy Find in vielen Arbeitsmappen; Zufällige Auswahl ...
  • Exakte Kopie Mehrere Zellen ohne Änderung der Formelreferenz; Referenzen automatisch erstellen zu mehreren Blättern; Aufzählungszeichen einfügen, Kontrollkästchen und mehr ...
  • Text extrahieren, Text hinzufügen, Nach Position entfernen, Leerzeichen entfernen;; Paging-Zwischensummen erstellen und drucken; Inhalt und Kommentare zwischen Zellen konvertieren...
  • Superfilter (Speichern und Anwenden von Filterschemata auf andere Blätter); Erweiterte Sortierung nach Monat / Woche / Tag, Häufigkeit und mehr; Spezialfilter fett, kursiv ...
  • Kombinieren Sie Arbeitsmappen und Arbeitsblätter;; Tabellen basierend auf Schlüsselspalten zusammenführen; Daten in mehrere Blätter aufteilen; Batch-Konvertierung von xls, xlsx und PDF...
  • Mehr als 300 leistungsstarke Funktionen. Unterstützt Office / Excel 2007-2019 und 365. Unterstützt alle Sprachen. Einfache Bereitstellung in Ihrem Unternehmen oder Ihrer Organisation. Vollständige Funktionen 30 Tage kostenlose Testversion. 60 Tage Geld-zurück-Garantie.
kte tab 201905

Office Tab Bringt die Oberfläche mit Registerkarten in Office und erleichtert Ihnen die Arbeit erheblich

  • Aktivieren Sie das Bearbeiten und Lesen von Registerkarten in Word, Excel und PowerPoint, Publisher, Access, Visio und Project.
  • Öffnen und erstellen Sie mehrere Dokumente in neuen Registerkarten desselben Fensters und nicht in neuen Fenstern.
  • Steigert Ihre Produktivität um 50% und reduziert täglich Hunderte von Mausklicks für Sie!
officetab unten
Kommentare (0)
Noch keine Bewertungen. Bewerten Sie als Erster!
Es sind noch keine Kommentare vorhanden
Hinterlassen Sie Ihre Kommentare
Als Gast posten
×
Bewerte diese Nachricht:
0   Figuren
Vorgeschlagene Standorte