Wie kann man Spalten in Echtzeit basierend auf Benutzereingaben in Excel ausblenden?
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.
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.
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
- Case "AA": Columns("A").EntireColumn.Hidden = False
- Columns("A").EntireColumn.Hidden = True
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:
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
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
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!