Hvordan skjuler man kolonner i realtid baseret på brugerinput i Excel?
Det kan være en almindelig opgave for de fleste af os at skjule kolonner i Excel, men har du nogensinde prøvet at skjule kolonner automatisk baseret på nogle specifikke inputværdier? For eksempel, når jeg indtaster teksten "AA" i en celle, er kolonne A skjult; når jeg indtaster "BB", er kolonne B og C skjult; når du indtaster "CC", er kolonne D og E skjult; når du indtaster "DD", er kolonne F skjult som vist nedenfor. Denne artikel vil oprette en VBA-kode til at løse det i Excel.
Skjul eller vis kolonner i realtid baseret på brugerinput med VBA-kode
Skjul eller vis kolonner for at filtrere data baseret på brugerinput med VBA-kode
Skjul eller vis kolonner i realtid baseret på brugerinput med VBA-kode
For at skjule de specifikke kolonner i realtid baseret på inputværdier, skal du anvende nedenstående VBA-kode:
1. Højreklik på arkfanen i regnearket, hvor du vil skjule kolonner, og klik derefter Vis kode fra kontekstmenuen, se skærmbillede
2. I åbnet Microsoft Visual Basic til applikationer vindue, kopier og indsæt følgende VBA-kode i Ark (kode) vindue.
VBA-kode: Skjul kolonner i realtid baseret på brugerinput
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 = Sand
3. Luk derefter kodevinduet. Nu, når du indtaster "AA" i celle K1, og tryk Indtast tast, kolonne A er skjult; når du indtaster "BB", og tryk på Indtast tast, er kolonne B og C skjult, og så videre. Hvis du indtaster en anden værdi eller sletter indholdet, vil de skjulte kolonner blive vist på én gang, se nedenstående demo:
Skjul eller vis kolonner for at filtrere data baseret på brugerinput med VBA-kode
I dette eksempel vil jeg gå til at filtrere et dataområde baseret på et indtastet produktnavn. Når jeg indtaster "Hoodie", vises kun Hættetrøje information, og andre kolonner vil blive skjult på én gang; og når jeg indtaster "Alle", vil alle kolonner blive vist som nedenstående demo vist:
1. Højreklik på arkfanen i regnearket, hvor du vil skjule kolonner, og klik derefter Vis kode fra kontekstmenuen, se skærmbillede:
2. I åbnet Microsoft Visual Basic til applikationer vindue, kopier og indsæt følgende VBA-kode i Ark (kode) vindue.
VBA-kode: Skjul eller vis kolonner for at filtrere data baseret på brugerinput
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. Luk derefter kodevinduet. Nu, hvis du indtaster produktnavnet i celle K1, vil kun de tilsvarende kolonner blive vist, den anden vil blive skjult; og hvis du indtaster teksten "Alle", vil alle kolonner blive vist som nedenstående demo vist:
Bedste kontorproduktivitetsværktøjer
Overlad dine Excel-færdigheder med Kutools til Excel, og oplev effektivitet som aldrig før. Kutools til Excel tilbyder over 300 avancerede funktioner for at øge produktiviteten og spare tid. Klik her for at få den funktion, du har mest brug for...
Fanen Office bringer en grænseflade til et kontor med Office, og gør dit arbejde meget lettere
- Aktiver redigering og læsning af faner i Word, Excel, PowerPoint, Publisher, Access, Visio og Project.
- Åbn og opret flere dokumenter i nye faner i det samme vindue snarere end i nye vinduer.
- Øger din produktivitet med 50 % og reducerer hundredvis af museklik for dig hver dag!