Hvordan oprettes dynamiske kaskader i Excel?
Du ved muligvis, hvordan du opretter rulleliste til kaskadevalidering i Excel. Hvordan oprettes dog dynamiske kaskader i Excel? Denne artikel introducerer en VBA-metode for at få den ned.
Opret dynamiske kaskader med VBA-kode
Opret dynamiske kaskader med VBA-kode
Som vist nedenstående skærmbillede skal du oprette en overordnet listeboks, der indeholder de unikke værdier i kolonnen Drikke, og vise alle de tilsvarende værdier i den anden listeboks baseret på valg i forældrelisten. Følgende VBA-kode hjælper dig med at opnå det. Gør som følger.
1. For det første skal du udtrække alle unikke værdier fra kolonnen Drikke. Vælg en tom celle, indtast matrixformel =IFERROR(INDEX($A$2:$A$11, MATCH(0,COUNTIF($J$1:J1, $A$2:$A$11), 0)),"") ind i Formel Bar, og tryk derefter på Ctrl + Flytte + Indtast nøgle. Træk derefter Fyld håndtaget for at få alle unikke værdier. Se skærmbillede:
Bemærk: I formlen $A$2:$A$11 er det område, du vil udtrække unikke værdier fra. J1 er cellen ovenfor, hvor din formel er placeret.
Tip: Hvis formlen er for svær at huske og håndtere, Vælg Duplicate & Unique Cells nytte af Kutools til Excel vil være et godt valg for dig hurtigt at udtrække alle unikke værdier fra en kolonne.
Vælg kolonnen, der indeholder unikke værdier, du vil udtrække af. Aktiver derefter værktøjet ved at klikke på Kutools > Type > Vælg Duplicate & Unique Cells. I Vælg Duplicate & Unique Cells dialogboksen skal du vælge Alle unikke (inklusive 1. duplikater) valg og klik på OK knap. Derefter vælges alle unikke værdier i kolonnen. Kopier og indsæt dem på et nyt sted. Se skærmbillede:
Kutools til Excel: med mere end 200 praktiske Excel-tilføjelsesprogrammer, gratis at prøve uden begrænsning på 60 dage. Download og gratis prøveversion nu!
2. Indsæt to listefelter hver for sig ved at klikke på Udvikler > indsatte > Listeboks (ActiveX-kontrol). Se skærmbillede:
3. Højreklik på den overordnede listeboks, og vælg Ejendomme fra genvejsmenuen. I Ejendomme i dialogboksen, skift (Navn) felt til Drikke eller et andet navn, som du har brug for, skal du indtaste celleområdet indeholder de ekstraherede unikke værdier i ListFillRange felt og lukke dialogen.
4. Gentag trin 3 for at ændre den anden listeboks (Navn) felt til Element i Ejendomme dialog boks.
5. Højreklik på arkfanen, og vælg Vis kode fra højreklikmenuen. Kopier derefter nedenunder VBA-kode til kodevinduet. Se skærmbillede:
VBA-kode: Opret dynamiske kaskader 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
Noter: I koden Drink og Item er navnene på to lister, skift dem til dine egne navne.
6. Tryk på andre + Q taster for at lukke Microsoft Visual Basic til applikationer vindue.
7. Sluk for designtilstand ved at klikke på Udvikler > Design Mode.
Fra nu af, når du vælger en hvilken som helst drink, f.eks. Kaffe i forældrelisten, vises alle kaffeprodukter i den anden. Vælg Te eller Vin viser kun te- eller vinartiklerne i den anden listeboks. Se skærmbillede:
Relaterede artikler:
- Hvordan ryddes afhængig rullelistecelle efter valg ændret i Excel?
- Hvordan oprettes afhængige kaskadefaldelister i Excel?
- Sådan udfyldes andre celler automatisk, når du vælger værdier i Excel-rullelisten?
- Hvordan oprettes en rullelistekalender i Excel?
- Hskal du gemme eller gemme valg af ActiveX-listefelter i Excel?
Bedste kontorproduktivitetsværktøjer
Overlad dine Excel-færdigheder med Kutools til Excel, og oplev effektivitet som aldrig før. Kutools til Excel tilbyder over 300 avancerede funktioner for at øge produktiviteten og spare tid. Klik her for at få den funktion, du har mest brug for...
Fanen Office bringer en grænseflade til et kontor med Office, og gør dit arbejde meget lettere
- Aktiver redigering og læsning af faner i Word, Excel, PowerPoint, Publisher, Access, Visio og Project.
- Åbn og opret flere dokumenter i nye faner i det samme vindue snarere end i nye vinduer.
- Øger din produktivitet med 50 % og reducerer hundredvis af museklik for dig hver dag!