Hur skapar man dynamiska kaskadlistor i Excel?
Du kanske vet hur du skapar en rullgardinsmeny för kaskad validering i Excel. Hur skapar jag dock dynamiska kaskadlistor i Excel? Den här artikeln introducerar en VBA-metod för att få ner den.
Skapa dynamiska kaskadlistor med VBA-kod
- Återanvänd allt: Lägg till de mest använda eller komplexa formlerna, diagrammen och allt annat till dina favoriter och återanvänd dem snabbt i framtiden.
- Mer än 20 textfunktioner: Extrahera nummer från textsträng; Extrahera eller ta bort en del av texterna; Konvertera siffror och valutor till engelska ord.
- Sammanfoga verktyg: Flera arbetsböcker och ark till en; Slå ihop flera celler / rader / kolumner utan att förlora data; Slå samman duplicerade rader och summa.
- Dela verktyg: Dela data i flera ark baserat på värde; En arbetsbok för flera Excel-, PDF- eller CSV-filer; En kolumn till flera kolumner.
- Klistra över Dolda / filtrerade rader; Räkna och summa av bakgrundsfärg; Skicka personliga e-postmeddelanden till flera mottagare i bulk.
- Superfilter: Skapa avancerade filterscheman och tillämpas på alla ark; Svart per vecka, dag, frekvens och mer; Filter med fetstil, formler, kommentarer ...
- Mer än 300 kraftfulla funktioner; Fungerar med Office 2007-2021 och 365; Stöder alla språk; Enkel implementering i ditt företag eller organisation.
Skapa dynamiska kaskadlistor med VBA-kod
Som nedanstående skärmdump visas måste du skapa en överordnad listruta som innehåller de unika värdena i kolumnen Dryck och visa alla motsvarande värden i den andra listrutan baserat på val i överordnad listruta. Följande VBA-kod hjälper dig att uppnå det. Gör så här.
1. För det första måste du extrahera alla unika värden från kolumnen Dryck. Välj en tom cell, ange matrisformel =IFERROR(INDEX($A$2:$A$11, MATCH(0,COUNTIF($J$1:J1, $A$2:$A$11), 0)),"") i Formula Bar, och tryck sedan på ctrl + shift + ange nyckel. Dra sedan i Fyll handtaget för att få alla unika värden. Se skärmdump:
Anmärkningar: I formeln, $A$2:$A$11 är det intervall du kommer att extrahera unika värden från. J1 är cellen ovan där din formel finns.
Tips: Om formeln är för svår att komma ihåg och hantera, kommer Välj Duplicera och unika celler nytta av Kutools för Excel kommer att vara ett bra val för dig att snabbt extrahera alla unika värden från en kolumn.
Välj kolumnen innehåller unika värden du kommer att extrahera från. Aktivera sedan verktyget genom att klicka Kutools > Välja > Välj Duplicera och unika celler. I Välj Duplicera och unika celler dialogrutan väljer du Alla unika (inklusive första dubbletter) alternativet och klicka på OK knapp. Sedan väljs alla unika värden i kolumnen. Kopiera och klistra in dem på en ny plats. Se skärmdump:
Kutools för Excel: med mer än 200 praktiska Excel-tillägg, gratis att prova utan begränsning på 60 dagar. Ladda ner och testa gratis nu!
2. Infoga två listrutor separat genom att klicka Utvecklare > Insert > Listbox (ActiveX Control). Se skärmdump:
3. Högerklicka på den överordnade listrutan och välj Fastigheter från snabbmenyn. I Fastigheter ändra dialogrutan (Namn) fält till Dryck eller annat namn som du behöver, ange cellområdet innehåller de extraherade unika värdena i ListFillRange fältet och stäng dialogrutan.
4. Upprepa steg 3 för att ändra den andra listrutan (Namn) fält till artikel i Fastigheter dialog ruta.
5. Högerklicka på arkfliken och välj Visa kod från högerklickmenyn. Kopiera sedan VBA-koden nedan till kodfönstret. Se skärmdump:
VBA-kod: Skapa dynamiska kaskadlistor i 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
Anmärkningar: I koden Dryck och artikel finns namnen på två listrutor, ändra dem till dina egna namn.
6. tryck på andra + Q för att stänga Microsoft Visual Basic för applikationer fönster.
7. Stäng av designläget genom att klicka på Utvecklare > Designläge.
Från och med nu, när du väljer någon form av dryck som t.ex. kaffe i föräldralistan, kommer alla kaffeprodukter att visas i den andra. Välj Te eller Vin visar bara te- eller vinartiklarna i den andra listrutan. Se skärmdump:
Relaterade artiklar:
- Hur rensar jag beroende rullgardinsmeny efter att ha valt ändrad i Excel?
- Hur skapar man beroende kaskadlistrutor i Excel?
- Hur fyller jag i andra celler automatiskt när du väljer värden i Excel-listrutan?
- Hur skapar jag en rullgardinsmeny i Excel?
- Hmåste du spara eller behålla val av ActiveX-listrutor i Excel?
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!
