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

Jak vytvořit dynamické kaskádové seznamy v aplikaci Excel?

Možná víte, jak vytvořit rozevírací seznam kaskádového ověření v aplikaci Excel. Jak však vytvořit dynamické kaskádové seznamy v aplikaci Excel? Tento článek zavádí metodu VBA, jak ji snížit.

Vytvořte dynamické kaskádové seznamy s kódem VBA

Karta Office Povolte úpravy a procházení na kartách v Office a vaše práce bude mnohem jednodušší ...
Kutools pro Excel řeší většinu vašich problémů a zvyšuje vaši produktivitu o 80%
  • Znovu použít cokoli: Přidejte do svých oblíbených nejpoužívanější nebo nejsložitější vzorce, grafy a cokoli jiného a rychle je v budoucnu znovu použijte.
  • Více než 20 textových funkcí: Extrahovat číslo z textového řetězce; Extrahovat nebo odebrat část textů; Převádějte čísla a měny na anglická slova.
  • Sloučit nástroje: Více sešitů a listů do jednoho; Sloučit více buněk / řádků / sloupců bez ztráty dat; Sloučit duplicitní řádky a součet.
  • Rozdělené nástroje: Rozdělit data do více listů na základě hodnoty; Jeden sešit pro více souborů Excel, PDF nebo CSV; Jeden sloupec na více sloupců.
  • Vložit přeskakování Skryté / filtrované řádky; Count And Sum podle barvy pozadí; Posílejte hromadně osobní e-maily více příjemcům.
  • Super filtr: Vytvořte pokročilá schémata filtrů a použijte je na jakékoli listy; Typ podle týdne, dne, frekvence a dalších; Filtr tučně, vzorce, komentovat ...
  • Více než 300 výkonných funkcí; Funguje s Office 2007-2021 a 365; Podporuje všechny jazyky; Snadné nasazení ve vašem podniku nebo organizaci.

Vytvořte dynamické kaskádové seznamy s kódem VBA

Jak je ukázáno níže, je třeba vytvořit nadřazený seznam obsahující jedinečné hodnoty sloupce Nápoj a zobrazit všechny odpovídající hodnoty ve druhém seznamu na základě výběru v nadřazeném seznamu. Následující kód VBA vám pomůže dosáhnout. Postupujte prosím následovně.

1. Nejprve musíte extrahovat všechny jedinečné hodnoty ze sloupce Nápoj. Vyberte prázdnou buňku, zadejte vzorec pole =IFERROR(INDEX($A$2:$A$11, MATCH(0,COUNTIF($J$1:J1, $A$2:$A$11), 0)),"") do Formula Bar, a poté stiskněte tlačítko Ctrl + směna + vstoupit klíč. Poté přetáhněte ikonu Naplňte rukojeť získat všechny jedinečné hodnoty. Viz screenshot:

Poznámka: Ve vzorci $A$2:$A$11 je rozsah, ze kterého extrahujete jedinečné hodnoty. J1 je buňka nad místem, kde se nachází váš vzorec.

Tip: Pokud je vzorec příliš těžký na zapamatování a zvládnutí, použije se Vyberte Duplikovat a jedinečné buňky užitečnost Kutools pro Excel bude pro vás dobrá volba pro rychlé extrahování všech jedinečných hodnot ze sloupce.

Vyberte prosím sloupec obsahující jedinečné hodnoty, ze kterých budete extrahovat. Poté povolte nástroj kliknutím Kutools > vybrat > Vyberte Duplikovat a jedinečné buňky. V Vyberte Duplikovat a jedinečné buňky dialogové okno vyberte Všechny jedinečné (včetně 1. duplikátů) a klepněte na tlačítko OK knoflík. Poté jsou ve sloupci vybrány všechny jedinečné hodnoty. Zkopírujte je a vložte na nové místo. Viz screenshot:

Kutools pro Excel: s více než 200 praktickými doplňky aplikace Excel, můžete vyzkoušet bez omezení do 60 dnů. Stáhněte si a vyzkoušejte zdarma hned teď!

2. Klepnutím vložte dvě seznamy samostatně Vývojka > Vložit > Seznam (ovládací prvek ActiveX). Viz snímek obrazovky:

3. Klikněte pravým tlačítkem na nadřazené seznamové pole a vyberte Nemovitosti z kontextové nabídky. V Nemovitosti v dialogovém okně změňte (Jméno) pole do Napít se nebo jiný název, jak potřebujete, zadejte rozsah buněk obsahující extrahované jedinečné hodnoty do souboru ListFillRange pole a zavřete dialog.

4. Opakujte krok 3 a změňte druhý seznam (Jméno) pole do položky v Nemovitosti dialogové okno.

5. Klikněte pravým tlačítkem na kartu listu a vyberte Zobrazit kód z nabídky pravého kliknutí. Poté zkopírujte níže uvedený kód VBA do okna Kód. Viz screenshot:

Kód VBA: Vytvářejte dynamické kaskádové seznamy v aplikaci Excel

Dim xPreStr As String
Private Sub Drink_Click()
'Update by Extendoffice 2018/06/04
    Dim I, xRows As Long
    Dim xRg As Range
    Dim xRegStr As String
    Application.ScreenUpdating = False
    xRegStr = Me.Drink.Text
    Set xRg = Range("A2:A11")
    xRows = xRg.Rows.Count
    If xRegStr <> xPreStr Then
    Me.Item.Clear
   'Me.OtherListBoxName.Clear
    Set xRg = xRg(1)
    For I = 1 To xRows
        If xRg.Offset(I - 1).Value = xRegStr Then
            Me.Item.AddItem xRg.Offset(I - 1, 1).Value
            'Me.OtherListBoxName.AddItem xRg.Offset(I - 1, 2).Value
        End If
    Next
    xPreStr = xRegStr
    End If
    Application.ScreenUpdating = True
End Sub

Poznámky: V kódu Nápoj a Položka jsou názvy dvou seznamů, změňte je na své vlastní názvy.

6. zmáčkni Další + Q klávesy pro zavření Microsoft Visual Basic pro aplikace okno.

7. Vypněte návrhový režim kliknutím Vývojka > Režim návrhu.

Od této chvíle se při výběru jakéhokoli druhu nápoje, jako je káva, v nadřazeném seznamu zobrazí všechny položky kávy ve druhém. Výběrem možnosti Čaj nebo víno se ve druhém seznamu zobrazí pouze položky z čaje nebo vína. Viz screenshot:


Související články:


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-2021 a 365. Podporuje všechny jazyky. Snadné nasazení ve vašem podniku nebo organizaci. Plné 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 snižuje stovky kliknutí myší každý den!
officetab dno
Komentáře (1)
Zatím žádné hodnocení. Buďte první, kdo ohodnotí!
Tento komentář byl moderátorem webu minimalizován
Hi

Co znamená „Já“ v kódu a jak se kód změní, pokud mám seznam MultiSelect?

Pozdravy
Zatím zde nejsou žádné komentáře

Sociální sítě

Copyright © 2009 - www.extendoffice.com. | Všechna práva vyhrazena. Poháněno ExtendOffice. | |. | Sitemap
Microsoft a logo Office jsou ochranné známky nebo registrované ochranné známky společnosti Microsoft Corporation ve Spojených státech a / nebo jiných zemích.
Chráněno Sectigo SSL