Jak skrýt sloupce v reálném čase na základě uživatelského vstupu v aplikaci Excel?
Pro většinu z nás může být běžným úkolem skrýt sloupce v Excelu, ale zkusili jste někdy skrýt sloupce automaticky na základě některých konkrétních vstupních hodnot? Když například do buňky zadám text „AA“, sloupec A se skryje; když zadám „BB“, sloupce B a C jsou skryté; při zadání „CC“ jsou sloupce D a E skryté; při zadání „DD“ je sloupec F skrytý, jak je ukázáno níže. Tento článek vytvoří kód VBA pro jeho vyřešení v Excelu.
Skrytí nebo zobrazení sloupců v reálném čase na základě uživatelského vstupu pomocí kódu VBA
Skrytí nebo zobrazení sloupců v reálném čase na základě uživatelského vstupu pomocí kódu VBA
Chcete-li skrýt konkrétní sloupce v reálném čase na základě vstupních hodnot, použijte níže uvedený kód VBA:
1. V listu, kde chcete skrýt sloupce, klikněte pravým tlačítkem na záložku listu a potom klikněte Zobrazit kód z kontextové nabídky, viz snímek obrazovky
2. V otevřeném Microsoft Visual Basic pro aplikace zkopírujte a vložte následující kód VBA do List (kód) okno.
Kód VBA: Skrytí sloupců v reálném čase na základě vstupu uživatele
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
- Případ "AA": Columns("A").EntireColumn.Hidden = False
- Columns("A").EntireColumn.Hidden = Pravda
3. Potom zavřete okno kódu. Nyní při zadávání „AA“ do buňky K1 a stiskněte vstoupit klíč, sloupec A je skrytý; při zadávání „BB“ a stiskněte vstoupit klíč, sloupce B a C jsou skryté atd. Pokud zadáte jakoukoli jinou hodnotu nebo smažete obsah, skryté sloupce se zobrazí najednou, viz ukázka níže:
Skrytím nebo zobrazením sloupců můžete filtrovat data na základě uživatelského vstupu pomocí kódu VBA
V tomto příkladu přejdu k filtrování rozsahu dat na základě zadaného názvu produktu. Když zadám „Hoodie“, zobrazí se pouze informace o Mikině a ostatní sloupce budou najednou skryty; a když zadám „Vše“, všechny sloupce se zobrazí jako ukázka níže:
1. V listu, kde chcete skrýt sloupce, klikněte pravým tlačítkem na záložku listu a potom klikněte Zobrazit kód z kontextové nabídky viz screenshot:
2. V otevřeném Microsoft Visual Basic pro aplikace zkopírujte a vložte následující kód VBA do List (kód) okno.
Kód VBA: Skrytí nebo zobrazení sloupců pro filtrování dat na základě vstupu uživatele
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. Potom zavřete okno kódu. Pokud nyní zadáte název produktu do buňky K1, zobrazí se pouze odpovídající sloupce, ostatní se skryjí; a pokud zadáte text „Vše“, všechny sloupce se zobrazí jako ukázka níže:
Nejlepší nástroje pro produktivitu v kanceláři
Rozšiřte své dovednosti Excel pomocí Kutools pro Excel a zažijte efektivitu jako nikdy předtím. Kutools for Excel nabízí více než 300 pokročilých funkcí pro zvýšení produktivity a úsporu času. Kliknutím sem získáte funkci, kterou nejvíce potřebujete...
Office Tab přináší do Office rozhraní s kartami a usnadňuje vám práci
- Povolte úpravy a čtení na kartách ve Wordu, Excelu, PowerPointu, Publisher, Access, Visio a Project.
- Otevřete a vytvořte více dokumentů na nových kartách ve stejném okně, nikoli v nových oknech.
- Zvyšuje vaši produktivitu o 50%a snižuje stovky kliknutí myší každý den!