Hoe kolommen in realtime te verbergen op basis van gebruikersinvoer in Excel?
Het kan voor de meesten van ons een veelvoorkomende taak zijn om kolommen in Excel te verbergen, maar heeft u ooit geprobeerd kolommen automatisch te verbergen op basis van een aantal specifieke invoerwaarden? Als ik bijvoorbeeld de tekst "AA" in een cel invoer, is kolom A verborgen; wanneer ik "BB" invoer, zijn de kolommen B en C verborgen; bij het invoeren van “CC” zijn de kolommen D en E verborgen; bij het invoeren van "DD", is de kolom F verborgen zoals hieronder getoonde demo. In dit artikel wordt een VBA-code gemaakt om het in Excel op te lossen.
Verberg of maak kolommen in realtime zichtbaar op basis van gebruikersinvoer met VBA-code
Verberg of maak kolommen in realtime zichtbaar op basis van gebruikersinvoer met VBA-code
Om de specifieke kolommen in realtime te verbergen op basis van invoerwaarden, past u de onderstaande VBA-code toe:
1. Klik in het werkblad waar u kolommen wilt verbergen met de rechtermuisknop op de bladtab en klik vervolgens op Bekijk code vanuit het contextmenu, zie screenshot
2. In het geopende Microsoft Visual Basic voor toepassingen venster, kopieer en plak de volgende VBA-code in de Blad (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 u "AA" invoert in cel K1, en druk op Enter toets, de kolom A is verborgen; wanneer u “BB” invoert en druk op Enter toets, de kolom B en C zijn verborgen, enzovoort. Als u een andere waarde invoert of de inhoud verwijdert, worden de verborgen kolommen meteen weergegeven, zie onderstaande demo:
Verberg of maak kolommen zichtbaar om gegevens te filteren op basis van gebruikersinvoer met VBA-code
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 meteen verborgen; en wanneer ik "Alles" invoer, worden alle kolommen weergegeven zoals hieronder getoonde demo:
1. Klik in het werkblad waar u kolommen wilt verbergen met de rechtermuisknop op de bladtab en klik vervolgens op Bekijk code zie screenshot vanuit het contextmenu:
2. In het geopende Microsoft Visual Basic voor toepassingen venster, kopieer en plak de volgende VBA-code in de Blad (Code) 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
3. Sluit vervolgens het codevenster. Als u nu de productnaam in cel K1 invoert, worden alleen de bijbehorende kolommen weergegeven, de andere wordt verborgen; en als u de tekst "Alles" invoert, verschijnen alle kolommen zoals hieronder getoonde demo:
Beste Office-productiviteitstools
Geef uw Excel-vaardigheden een boost met Kutools voor Excel en ervaar efficiëntie als nooit tevoren. Kutools voor Excel biedt meer dan 300 geavanceerde functies om de productiviteit te verhogen en tijd te besparen. Klik hier om de functie te krijgen die u het meest nodig heeft...
Office-tabblad Brengt een interface met tabbladen naar Office en maakt uw werk veel gemakkelijker
- Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in, Publisher, Access, Visio en Project.
- Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster in plaats van in nieuwe vensters.
- Verhoogt uw productiviteit met 50% en vermindert honderden muisklikken voor u elke dag!