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
- 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
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.

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!
