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
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 Våra Bostäder från snabbmenyn. I Våra Bostäder ä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 Våra Bostäder 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?
Bästa kontorsproduktivitetsverktyg
Uppgradera dina Excel-färdigheter med Kutools för Excel och upplev effektivitet som aldrig förr. Kutools för Excel erbjuder över 300 avancerade funktioner för att öka produktiviteten och spara tid. Klicka här för att få den funktion du behöver mest...
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!