KutoolsforOffice — Eén oplossing, vijf krachtige tools.Meer bereiken met minder moeite.

Hoe verbergt u kolommen in Excel realtime op basis van gebruikersinvoer?

AuteurXiaoyang Wijzigingsdatum

Kolommen verbergen in Excel is een veelvoorkomende taak, maar heeft u ooit geprobeerd kolommen automatisch te verbergen op basis van specifieke invoerwaarden? Bijvoorbeeld: wanneer u „AA” typt in een cel, verdwijnt kolom A; bij „BB” worden kolommen B en C verborgen; bij „CC” verdwijnen kolommen D en E; en bij „DD” wordt kolom F verborgen – precies zoals in de demo hieronder. In dit artikel vindt u een VBA-code waarmee u dit probleem eenvoudig oplost in Excel.

Gebruik VBA-code om kolommen in realtime te verbergen of weer zichtbaar te maken op basis van gebruikersinvoer

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


Gebruik VBA-code om kolommen in realtime te verbergen of weer zichtbaar te maken op basis van gebruikersinvoer

Om de Specificeer kolom in realtime te verbergen op basis van invoerwaarden, past u de onderstaande VBA-code toe:

1. Klik met de rechtermuisknop op het tabblad van het werkblad waarvan u kolommen wilt verbergen en kies vervolgens „Code weergeven” in het contextmenu (zie screenshot).

Een schermafbeelding die laat zien hoe u het venster Visual Basic for Applications in Excel opent door met de rechtermuisknop op het werkbladtabblad te klikken

2. Kopieer de volgende VBA-code en plak deze in het venster „Blad (Code)” van het geopende „Microsoft Visual Basic for Applications”-venster.

VBA-code: Kolommen in realtime verbergen 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 u de specifieke tekst invoert. Pas de tekst en kolomnamen aan uw behoeften aan. Daarnaast kunt u andere criteria toevoegen door de volgende scripts toe te voegen:
  • Case „AA": Columns(„A").EntireColumn.Hidden = False
  • Columns(„A").EntireColumn.Hidden = True

Een schermafbeelding van het VBA-codevenster in Excel met geplakte code om kolommen te verbergen op basis van gebruikersinvoer

3. Sluit daarna het codevenster. Wanneer u nu „AA” invoert in cel K1 en op Enter drukt, verdwijnt kolom A uit beeld; bij invoer van „BB” en een druk op Enter worden kolommen B en C verborgen, enzovoort. Voert u een andere waarde in of verwijdert u de inhoud, dan worden de verborgen kolommen meteen weer zichtbaar — zie de onderstaande demo:


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

In dit voorbeeld filter ik een gegevensbereik op basis van een ingevoerde productnaam. Wanneer ik „Hoodie” invoer, wordt alleen informatie over hoodies weergegeven en worden de overige kolommen direct verborgen; voer ik „All” in, dan worden alle kolommen getoond, zoals in de onderstaande demo:

1. Klik met de rechtermuisknop op het tabblad van het werkblad waarvan u kolommen wilt verbergen en kies vervolgens ‘Code weergeven’ in het contextmenu (zie screenshot).

Een schermafbeelding die laat zien hoe u het venster Visual Basic for Applications in Excel opent door met de rechtermuisknop op het werkbladtabblad te klikken

2. Kopieer en plak de volgende VBA-code in het venster „Blad (Code)” van het geopende „Microsoft Visual Basic for Applications”-venster.

VBA-code: Kolommen verbergen of zichtbaar maken 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 u de specifieke tekst invoert en zijn „B1:H1” de rijkoppen met de productnamen die u wilt filteren.

3. Sluit daarna het codevenster. Zodra u de productnaam invoert in cel K1, worden alleen de bijbehorende kolommen zichtbaar en de rest automatisch verborgen; voert u „All” in, dan verschijnen alle kolommen, zoals te zien is in de onderstaande demo:

Beste Office-productiviteitshulpmiddelen

🤖KUTOOLS AI Assistant: Revolutioneer Data-analyse op basis van:Intelligente uitvoering   |  Genereer code|  Maak aangepaste formules  |  Analyseer gegevens en genereer grafieken|  Roep Verbeterde functies aan
Populaire functies:Zoeken, markeren of Dubbele waarden markeren   |  Verwijder lege rijen   |  Kolommen samenvoegen of cellen zonder gegevensverlies   |   Afronden zonder formule...
Super ZOEKEN:VLookup met meerdere criteria  |  VLookup met meerdere waarden  |   VLookup over meerdere werkbladen   |   Fuzzy Match....
Geavanceerde keuzelijst:Snel een keuzelijst maken   |  Afhankelijke keuzelijst   |  Keuzelijst met meervoudige selectie....
Kolombeheerder:Voeg een specifiek aantal kolommen toe|Verplaats kolommen|Wissel zichtbaarheidsstatus van verborgen kolommen|Vergelijk bereiken en kolommen...
Uitgelichte functies:Rasterfocus   |  Ontwerpweergave   |Verbeterde formulebalk   | Werkmap- en bladbeheerder   |  Bronnenbibliotheek(Automatische tekst)|  Datumkiezer   |  Werkbladen samenvoegen  |  Versleutelen/Cellen decoderen   | E-mails verzenden op basis van lijst   |  Superfilter   |   Speciaal filter(Filter cellen met vetgedrukt lettertype/cursief/doorgestreept...) ...
Top 15 gereedschapssets:12 Teksthulpmiddelen(Tekst toevoegen,Specifieke tekens verwijderen, ...)|   50+Grafiektypen(Gantt-diagram, ...)|   40+ Praktische formules(Leeftijd berekenen op basis van geboortedatum, ...)|   19 Invoeghulpmiddelen(QR-code Invoegen,Afbeelding invoegen vanaf pad, ...)|   12 Conversiehulpmiddelen(Omzetten naar woorden,Wisselkoersconversie, ...)|   7 Samenvoegen en splitsenhulpmiddelen(Geavanceerd samenvoegen van rijen,Cellen splitsen, ...)|... en meer
Gebruik Kutools in uw voorkeurstaal – ondersteunt Engels, Spaans, Duits, Frans, Chinees en 40+ andere talen!

Geef uw Excel-vaardigheden een boost met Kutools voor Excel en ervaar efficiëntie zoals nooit tevoren.Kutools voor Excel biedt meer dan 300 geavanceerde functies om de productiviteit te verhogen en Tijd besparen.Klik hier om de functie te krijgen die u het meest nodig heeft...


Office Tab brengt een tabbladinterface naar Office en maakt uw werk veel eenvoudiger

  • Schakel tabbladbewerking en -lezen in voor Word, Excel, PowerPoint, Publisher, Access, Visio en Project.
  • Open en maak meerdere documenten aan in nieuwe tabbladen binnen hetzelfde venster, in plaats van in afzonderlijke vensters.
  • Verhoogt uw productiviteit met 50 % en bespaart u dagelijks honderden muisklikken!

Alle Kutools-add-ins in één installatieprogramma.

Kutools for Office bundelt add-ins voor Excel, Word, Outlook en PowerPoint, plus Office Tab Pro—ideaal voor teams die met meerdere Office-apps werken.

ExcelWordOutlookTabsPowerPoint
  • Alles-in-één suite— add-ins voor Excel, Word, Outlook & PowerPoint plus Office Tab Pro
  • Één installatieprogramma, één licentie— binnen enkele minuten klaar (MSI-geschikt)
  • Werkt beter samen— gestroomlijnde productiviteit in alle Office-apps
  • 30 dagen volledig functionele proefversie— geen registratie, geen creditcard
  • Beste prijs-kwaliteitverhouding— bespaar ten opzichte van het afzonderlijk kopen van add-ins