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
- 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 Enter Taste, die Spalte A ist ausgeblendet; bei der Eingabe von „BB“ und drücken Sie Enter 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
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:
Beste Office-Produktivitätstools
Verbessern Sie Ihre Excel-Kenntnisse mit Kutools für Excel und erleben Sie Effizienz wie nie zuvor. Kutools für Excel bietet über 300 erweiterte Funktionen, um die 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 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 jeden Tag Hunderte von Mausklicks für Sie!