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
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:
- Jak vymazat závislou buňku rozevíracího seznamu po výběru změny v aplikaci Excel?
- Jak vytvořit závislé kaskádové rozevírací seznamy v aplikaci Excel?
- Jak automaticky naplnit další buňky při výběru hodnot v rozevíracím seznamu aplikace Excel?
- Jak vytvořit kalendář rozevíracího seznamu v aplikaci Excel?
- Hjak uložit nebo uchovat výběry seznamů ActiveX v aplikaci Excel?
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!