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

Hur döljer man kolumner i realtid baserat på användarinmatning i Excel?

Det kan vara en vanlig uppgift för de flesta av oss att dölja kolumner i Excel, men har du någonsin försökt att dölja kolumner automatiskt baserat på vissa specifika indatavärden? Till exempel, när jag skriver in texten "AA" i en cell döljs kolumnen A; när jag anger "BB" är kolumnen B och C dolda; när du anger "CC", är kolumnen D och E dolda; när du anger "DD" döljs kolumnen F som nedan visas. Den här artikeln kommer att skapa en VBA-kod för att lösa det i Excel.

Dölj eller visa kolumner i realtid baserat på användarinmatning med VBA-kod

Dölj eller visa kolumner för att filtrera data baserat på användarinmatning med VBA-kod


Dölj eller visa kolumner i realtid baserat på användarinmatning med VBA-kod

För att dölja de specifika kolumnerna i realtid baserat på ingångsvärden, använd nedanstående VBA-kod:

1. I kalkylbladet där du vill dölja kolumner högerklickar du på arkfliken och klickar sedan Visa kod från snabbmenyn, se skärmdump

2. I det öppnade Microsoft Visual Basic för applikationer fönster, kopiera och klistra in följande VBA-kod i Blad (kod) fönster.

VBA-kod: Dölj kolumner i realtid baserat på användarinmatning

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
Anmärkningar: I ovanstående kod, K1 är cellen där du anger den specifika texten, och du bör ändra texterna och kolumnnamnen efter dina behov. Dessutom kan du lägga till andra nya kriterier bara genom att lägga till nedanstående skript:
  • Case "AA": Kolumner("A").EntireColumn.Hidden = False
  • Kolumner("A").EntireColumn.Hidden = True

3. Stäng sedan kodfönstret. Nu, när du anger "AA" i cell K1, och tryck ange nyckel, kolumnen A är dold; när du anger "BB" och tryck på ange nyckel, kolumnen B och C är dolda, och så vidare. Om du anger något annat värde eller tar bort innehållet kommer de dolda kolumnerna att visas på en gång, se nedan demo:


Dölj eller visa kolumner för att filtrera data baserat på användarinmatning med VBA-kod

I det här exemplet kommer jag att filtrera ett dataintervall baserat på ett angett produktnamn. När jag anger "Hoodie" visas bara Hoodie-information och andra kolumner kommer att döljas på en gång; och när jag anger "Alla" kommer alla kolumner att visas som nedanstående demonstration:

1. I kalkylbladet där du vill dölja kolumner högerklickar du på arkfliken och klickar sedan Visa kod från snabbmenyn, se skärmdump:

2. I det öppnade Microsoft Visual Basic för applikationer fönster, kopiera och klistra in följande VBA-kod i Blad (kod) fönster.

VBA-kod: Dölj eller visa kolumner för att filtrera data baserat på användarinmatning

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
Anmärkningar: I ovanstående kod, K1 är cellen där du anger den specifika texten, B1: H1 är radrubrikerna som innehåller produktnamnet som du vill filtrera.

3. Stäng sedan kodfönstret. Nu, om du anger produktnamnet i cell K1, kommer endast motsvarande kolumner att visas, den andra kommer att döljas; och om du skriver in texten "Alla", kommer alla kolumner att visas som nedanstående demonstration:


De bästa Office-produktivitetsverktygen

Kutools för Excel löser de flesta av dina problem och ökar din produktivitet med 80%

  • återanvändning: Sätt snabbt i komplexa formler, diagram och allt som du har använt tidigare; Kryptera celler med lösenord; Skapa e-postlista och skicka e-post ...
  • Super Formula Bar (enkelt redigera flera rader med text och formel); Läslayout (enkelt läsa och redigera ett stort antal celler); Klistra in i filtrerat intervall...
  • Sammanfoga celler / rader / kolumner utan att förlora data; Delat cellinnehåll; Kombinera duplicerade rader / kolumner... Förhindra duplicerade celler; Jämför intervall...
  • Välj Duplicera eller Unikt Rader; Välj tomma rader (alla celler är tomma); Super Find och Fuzzy Find i många arbetsböcker; Slumpmässigt val ...
  • Exakt kopia Flera celler utan att ändra formelreferens; Skapa referenser automatiskt till flera ark; Sätt in kulor, Kryssrutor och mer ...
  • Extrahera text, Lägg till text, ta bort efter position, Ta bort mellanslag; Skapa och skriva ut personsökningstalsatser; Konvertera mellan celler innehåll och kommentarer...
  • Superfilter (spara och tillämpa filterscheman på andra ark); Avancerad sortering efter månad / vecka / dag, frekvens och mer; Specialfilter av fet, kursiv ...
  • Kombinera arbetsböcker och arbetsblad; Sammanfoga tabeller baserat på nyckelkolumner; Dela data i flera ark; Batchkonvertera xls, xlsx och PDF...
  • Mer än 300 kraftfulla funktioner. Stöder Office / Excel 2007-2021 och 365. Stöder alla språk. Enkel implementering i ditt företag eller organisation. Fullständiga funktioner 30 dagars gratis provperiod. 60 dagars pengarna tillbaka-garanti.
kte-flik 201905

Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare

  • Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
  • Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
  • Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!
officetab botten
Sortera kommentarer efter
Kommentarer (0)
Inga betyg än. Bli först med att betygsätta!
Det finns inga kommentarer här ännu
Lämna dina kommentarer
Postar som gäst
×
Betygsätt detta inlägg:
0   Tecken
Föreslagna platser

Följ oss

Copyright © 2009 - www.extendoffice.com. | Alla rättigheter förbehållna. Drivs av ExtendOffice. | | Sitemap
Microsoft och Office-logotypen är varumärken eller registrerade varumärken som tillhör Microsoft Corporation i USA och / eller andra länder.
Skyddad av Sectigo SSL