Note: The other languages of the website are Google-translated. Back to English

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
Bemærk: I ovenstående kode, K1 er cellen, hvor du indtaster den specifikke tekst, og du bør ændre teksterne og kolonnenavnene efter dit behov. Derudover kan du tilføje andre nye kriterier blot ved at tilføje nedenstående scripts:
  • 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
Bemærk: I ovenstående kode, K1 er cellen, hvor du indtaster den specifikke tekst, B1: H1 er rækkeoverskrifterne indeholder produktnavnet, som du vil filtrere.

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:


De bedste Office-produktivitetsværktøjer

Kutools til Excel løser de fleste af dine problemer og øger din produktivitet med 80%

  • Genbruge: Indsæt hurtigt komplekse formler, diagrammer og alt, hvad du har brugt før; Krypter celler med adgangskode Opret postliste og send e-mails ...
  • Super formel bar (let redigere flere linjer med tekst og formel); Læsning Layout (let at læse og redigere et stort antal celler); Indsæt til filtreret rækkevidde...
  • Flet celler / rækker / kolonner uden at miste data; Split celler indhold; Kombiner duplikerede rækker / kolonner... Forhindre duplikerede celler; Sammenlign områder...
  • Vælg Duplicate eller Unique Rækker; Vælg tomme rækker (alle celler er tomme); Super Find og Fuzzy Find i mange arbejdsbøger; Tilfældig valg ...
  • Præcis kopi Flere celler uden at ændre formelreference; Auto Opret referencer til flere ark; Indsæt kugler, Afkrydsningsfelter og mere ...
  • Uddrag tekst, Tilføj tekst, Fjern efter position, Fjern mellemrum; Opret og udskriv personsøgningssubtotaler; Konverter mellem celler indhold og kommentarer...
  • Superfilter (gem og anvend filterskemaer på andre ark); Avanceret sortering efter måned / uge / dag, hyppighed og mere; Specielt filter af fed, kursiv ...
  • Kombiner arbejdsbøger og arbejdsark; Fletabeller baseret på nøglekolonner; Opdel data i flere ark; Batch Konverter xls, xlsx og PDF...
  • Mere end 300 kraftfulde funktioner. Understøtter Office / Excel 2007-2019 og 365. Understøtter alle sprog. Nem implementering i din virksomhed eller organisation. Fuld funktioner 30-dages gratis prøveperiode. 60-dages pengene tilbage garanti.
kte-fane 201905

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!
officetab bund
Sorter kommentarer efter
Kommentarer (0)
Ingen vurderinger endnu. Vær den første til at bedømme!
Der er endnu ingen kommentarer her
Efterlad dine kommentarer
Sender som gæst
×
Bedøm dette indlæg:
0   Tegn
Foreslåede steder