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

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ím nebo zobrazením sloupců můžete filtrovat data 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
Poznámka: Ve výše uvedeném kódu, K1 je buňka, do které zadáváte konkrétní text, a texty a názvy sloupců byste měli změnit podle svých potřeb. Kromě toho můžete přidat další nová kritéria pouhým přidáním níže uvedených skriptů:
  • 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
Poznámka: Ve výše uvedeném kódu, K1 je buňka, do které zadáváte konkrétní text, B1: H1 je záhlaví řádků obsahující název produktu, který chcete filtrovat.

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ší kancelářské nástroje produktivity

Kutools pro Excel řeší většinu vašich problémů a zvyšuje vaši produktivitu o 80%

  • Opakované použití: Rychle vložte složité vzorce, grafy a cokoli, co jste dříve používali; Šifrovat buňky s heslem; Vytvořte seznam adresátů a posílat e-maily ...
  • Super Formula Bar (snadno upravit více řádků textu a vzorce); Rozložení pro čtení (snadno číst a upravovat velké množství buněk); Vložit do filtrovaného rozsahu...
  • Sloučit buňky / řádky / sloupce bez ztráty dat; Rozdělit obsah buněk; Zkombinujte duplicitní řádky / sloupce... Zabraňte duplicitním buňkám; Porovnat rozsahy...
  • Vyberte možnost Duplikovat nebo Jedinečný Řádky; Vyberte prázdné řádky (všechny buňky jsou prázdné); Super hledání a fuzzy hledání v mnoha sešitech; Náhodný výběr ...
  • Přesná kopie Více buněk beze změny odkazu na vzorec; Automaticky vytvářet reference do více listů; Vložte odrážky, Zaškrtávací políčka a další ...
  • Extrahujte text, Přidat text, Odebrat podle pozice, Odebrat mezeru; Vytváření a tisk mezisoučtů stránkování; Převod mezi obsahem buněk a komentáři...
  • Super filtr (uložit a použít schémata filtrů na jiné listy); Rozšířené řazení podle měsíce / týdne / dne, frekvence a dalších; Speciální filtr tučnou kurzívou ...
  • Kombinujte sešity a pracovní listy; Sloučit tabulky na základě klíčových sloupců; Rozdělte data do více listů; Dávkový převod xls, xlsx a PDF...
  • Více než 300 výkonných funkcí. Podporuje Office / Excel 2007-2019 a 365. Podporuje všechny jazyky. Snadné nasazení ve vašem podniku nebo organizaci. Kompletní funkce 30denní bezplatná zkušební verze. 60denní záruka vrácení peněz.
karta kte 201905

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 omezuje stovky kliknutí myší každý den!
officetab dno
Komentáře (0)
Zatím žádné hodnocení. Buďte první, kdo ohodnotí!
Zatím zde nejsou žádné komentáře
Zanechat své připomínky
Odesílání jako host
×
Ohodnoťte tento příspěvek:
0   Postavy
Doporučená umístění