Gå til hovedindhold

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:

Bedste kontorproduktivitetsværktøjer

🤖 Kutools AI Aide: Revolutionér dataanalyse baseret på: Intelligent udførelse   |  Generer kode  |  Opret brugerdefinerede formler  |  Analyser data og generer diagrammer  |  Aktiver Kutools funktioner...
Populære funktioner: Find, fremhæv eller identificer dubletter   |  Slet tomme rækker   |  Kombiner kolonner eller celler uden at miste data   |   Runde uden formel ...
Super opslag: VLookup med flere kriterier    Multiple Value VLookup  |   VOpslag på tværs af flere ark   |   Fuzzy Lookup ....
Avanceret rulleliste: Opret hurtigt rulleliste   |  Afhængig rulleliste   |  Multivælg rulleliste ....
Column Manager: Tilføj et bestemt antal kolonner  |  Flyt kolonner  |  Skift synlighedsstatus for skjulte kolonner  |  Sammenlign områder og kolonner ...
Fremhævede funktioner: Grid fokus   |  Designvisning   |   Stor Formel Bar    Arbejdsbog & Ark Manager   |  Ressourcebibliotek (Autotekst)   |  Datovælger   |  Kombiner regneark   |  Krypter/Dekrypter celler    Send e-mails efter liste   |  Superfilter   |   Specielt filter (filter fed/kursiv/gennemstreget...) ...
Top 15 værktøjssæt12 tekst Værktøjer (tilføje tekst, Fjern tegn, ...)   |   50 + Chart Typer (Gantt kort, ...)   |   40+ Praktisk formler (Beregn alder baseret på fødselsdag, ...)   |   19 Indsættelse Værktøjer (Indsæt QR-kode, Indsæt billede fra sti, ...)   |   12 Konvertering Værktøjer (Tal til ord, Valutaomregning, ...)   |   7 Flet og del Værktøjer (Avancerede kombinere rækker, Opdel celler, ...)   |   ... og mere

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...

Beskrivelse


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!
Comments (1)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Hi

What does "Me" refer to in the code and how will the code change if I have a MultiSelect list box?

Regards
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations