Hoe kolommen in realtime te verbergen op basis van gebruikersinvoer in Excel?
Het verbergen van kolommen in Excel is misschien een veelvoorkomende taak, maar heb je ooit geprobeerd om kolommen automatisch te verbergen op basis van specifieke invoerwaarden? Bijvoorbeeld, wanneer ik de tekst “AA” in een cel invoer, wordt kolom A verborgen; wanneer ik “BB” invoer, worden kolommen B en C verborgen; bij het invoeren van “CC” worden kolommen D en E verborgen; bij het invoeren van “DD” wordt kolom F verborgen, zoals te zien is in de onderstaande demo. Dit artikel biedt een VBA-code om dit in Excel op te lossen.
Gebruik VBA-code om kolommen in realtime te verbergen of zichtbaar te maken op basis van gebruikersinvoer
Om specifieke kolommen in realtime te verbergen op basis van invoerwaarden, pas dan de volgende VBA-code toe:
1. In het werkblad waarin je kolommen wilt verbergen, klik met de rechtermuisknop op het tabblad van het blad en klik vervolgens op "Weergave Code" in het contextmenu, zie screenshot.
2. Plak de volgende VBA-code in het geopende "Microsoft Visual Basic for Applications"-venster in het "Sheet (Code)"-venster.
VBA-code: Verberg kolommen in realtime op basis van gebruikersinvoer
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. Sluit vervolgens het codevenster. Nu, wanneer je “AA” invoert in cel K1 en op "Enter" drukt, wordt kolom A verborgen; wanneer je “BB” invoert en op "Enter" drukt, worden kolommen B en C verborgen, enzovoort. Als je een andere waarde invoert of de inhoud verwijdert, worden de verborgen kolommen onmiddellijk weergegeven, zie onderstaande demo:
Gebruik VBA-code om bepaalde kolommen te verbergen of zichtbaar te maken op basis van gebruikersinvoer
In dit voorbeeld ga ik een gegevensbereik filteren op basis van een ingevoerde productnaam. Wanneer ik “Hoodie” invoer, wordt alleen Hoodie-informatie weergegeven en worden andere kolommen onmiddellijk verborgen; en wanneer ik “All” invoer, worden alle kolommen weergegeven zoals te zien is in de onderstaande demo:
1. In het werkblad waarin je kolommen wilt verbergen, klik met de rechtermuisknop op het tabblad van het blad en klik vervolgens op "Weergave Code" in het contextmenu, zie screenshot:
2. Plak de volgende VBA-code in het geopende "Microsoft Visual Basic for Applications"-venster in het "Sheet (Code)"-venster.
VBA-code: Verberg of maak kolommen zichtbaar om gegevens te filteren op basis van gebruikersinvoer
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. Sluit vervolgens het codevenster. Nu, wanneer je de productnaam invoert in cel K1, worden alleen de bijbehorende kolommen weergegeven, de andere worden verborgen; en wanneer je de tekst “All” invoert, verschijnen alle kolommen zoals te zien is in de onderstaande demo:
Beste Office-productiviteitstools
Versterk je Excel-vaardigheden met Kutools voor Excel en ervaar ongeëvenaarde efficiëntie. Kutools voor Excel biedt meer dan300 geavanceerde functies om je productiviteit te verhogen en tijd te besparen. Klik hier om de functie te krijgen die je het meest nodig hebt...
Office Tab brengt een tabbladinterface naar Office en maakt je werk veel eenvoudiger
- Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in
- Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster, in plaats van in nieuwe vensters.
- Verhoog je productiviteit met50% en bespaar dagelijks honderden muisklikken!