Skip to main content

Hoe kolommen in realtime te verbergen op basis van gebruikersinvoer in Excel?

Author: Xiaoyang Last Modified: 2025-05-29

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

Gebruik VBA-code om bepaalde kolommen te verbergen of zichtbaar te maken op basis van gebruikersinvoer


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.

A screenshot showing how to open the Visual Basic for Applications window in Excel by right-clicking the sheet tab

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
Opmerking: In de bovenstaande code is "K1" de cel waarin je de specifieke tekst invoert. Pas de tekst en kolomnamen aan om aan jouw behoeften te voldoen. Daarnaast kun je andere nieuwe criteria toevoegen door onderstaande scripts toe te voegen:
  • 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. 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:

A screenshot showing how to open the Visual Basic for Applications window in Excel by right-clicking the sheet tab

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
Opmerking: In de bovenstaande code is "K1" de cel waarin je de specifieke tekst invoert, "B1:H1" zijn de rijkoppen die de productnamen bevatten die je wilt filteren.

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

🤖 Kutools AI Assistent: Breng een revolutie teweeg in data-analyse Methode: Intelligente uitvoering |Code genereren |Aangepaste formules maken |Gegevens analyseren en grafieken genereren |Kutools-functies gebruiken
Populaire functies: Dubbele waarden markeren, markeren of identificeren | Verwijder lege rijen | Kolommen of cellen samenvoegen zonder gegevensverlies | Afronden ...
Super ZOEKEN: VLookup met meerdere criteria | VLookup met meerdere waarden | Meervoudig-blad opzoeken | Fuzzy Match ...
Geavanceerde keuzelijst: Snel keuzelijst maken | Afhankelijke keuzelijst | Meervoudige selectie keuzelijst ...
Kolombeheer: Specifiek aantal kolommen toevoegen | Kolommen verplaatsen | Zichtbaarheid van verborgen kolommen wisselen | Bereik & kolommen vergelijken ...
Uitgelichte functies: Rasterfocus | Ontwerpweergave | Verbeterde formulebalk | Werkboek- & Werkbladbeheer | AutoTekstbibliotheek | Datumkiezer | Gegevens samenvoegen | Cellen coderen/decoderen | E-mail verzenden per lijst | Superfilter | Speciaal filter (filter cellen met vetgedrukt/cursief/doorhalen...) ...
Top15 toolsets:12 Teksttools (Tekst toevoegen, Specifieke tekens verwijderen, ...) |50+ Grafiek type (Gantt-diagram, ...) |40+ Praktische formules (Leeftijd berekenen op basis van geboortedatum, ...) |19 Invoegtools (QR-code invoegen, Afbeelding invoegen vanaf pad, ...) | 12 Conversietools (Omzetten naar woorden, Valutaconversie, ...) | 7 Samenvoeg- & Opsplitstools (Geavanceerd samenvoegen van rijen, Cellen splitsen, ...) | ... en meer

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!