Note: The other languages of the website are Google-translated. Back to English

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

Fanen Office Aktiver redigering og browsing med faner i Office, og gør dit arbejde meget lettere ...
Kutools til Excel løser de fleste af dine problemer og øger din produktivitet med 80%
  • Genbrug alt: Tilføj de mest anvendte eller komplekse formler, diagrammer og alt andet til dine favoritter, og genbrug dem hurtigt i fremtiden.
  • Mere end 20 tekstfunktioner: Uddrag nummer fra tekststreng; Uddrag eller fjern en del af teksterne; Konverter tal og valutaer til engelske ord.
  • Flet værktøjer: Flere arbejdsbøger og ark til én; Flet flere celler / rækker / kolonner uden at miste data; Flet duplikatrækker og sum.
  • Opdel værktøjer: Opdel data i flere ark baseret på værdi; Én projektmappe til flere Excel-, PDF- eller CSV-filer; En kolonne til flere kolonner.
  • Indsæt spring Skjulte / filtrerede rækker; Tæl og sum af baggrundsfarve; Send personaliserede e-mails til flere modtagere i bulk.
  • Superfilter: Opret avancerede filterskemaer og anvend dem på alle ark; Sort efter uge, dag, hyppighed og mere; filtre med fed, formler, kommentar ...
  • Mere end 300 kraftfulde funktioner; Arbejder med Office 2007-2021 og 365; Understøtter alle sprog; Nem implementering i din virksomhed eller organisation.

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:


De bedste Office-produktivitetsværktøjer

Kutools til Excel løser de fleste af dine problemer og øger din produktivitet med 80%

  • Genbruge: Indsæt hurtigt komplekse formler, diagrammer og alt, hvad du har brugt før; Krypter celler med adgangskode Opret postliste og send e-mails ...
  • Super formel bar (let redigere flere linjer med tekst og formel); Læsning Layout (let at læse og redigere et stort antal celler); Indsæt til filtreret rækkevidde...
  • Flet celler / rækker / kolonner uden at miste data; Split celler indhold; Kombiner duplikerede rækker / kolonner... Forhindre duplikerede celler; Sammenlign områder...
  • Vælg Duplicate eller Unique Rækker; Vælg tomme rækker (alle celler er tomme); Super Find og Fuzzy Find i mange arbejdsbøger; Tilfældig valg ...
  • Præcis kopi Flere celler uden at ændre formelreference; Auto Opret referencer til flere ark; Indsæt kugler, Afkrydsningsfelter og mere ...
  • Uddrag tekst, Tilføj tekst, Fjern efter position, Fjern mellemrum; Opret og udskriv personsøgningssubtotaler; Konverter mellem celler indhold og kommentarer...
  • Superfilter (gem og anvend filterskemaer på andre ark); Avanceret sortering efter måned / uge / dag, hyppighed og mere; Specielt filter af fed, kursiv ...
  • Kombiner arbejdsbøger og arbejdsark; Fletabeller baseret på nøglekolonner; Opdel data i flere ark; Batch Konverter xls, xlsx og PDF...
  • Mere end 300 kraftfulde funktioner. Understøtter Office / Excel 2007-2021 og 365. Understøtter alle sprog. Nem implementering i din virksomhed eller organisation. Fuld funktioner 30-dages gratis prøveperiode. 60 dages pengene tilbage garanti.
kte-fane 201905

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!
officetab bund
Sorter kommentarer efter
Kommentarer (1)
Ingen vurderinger endnu. Vær den første til at bedømme!
Denne kommentar blev minimeret af moderatoren på webstedet
Hi

Hvad henviser "Mig" til i koden, og hvordan ændres koden, hvis jeg har en MultiSelect-liste?

Hilsen
Der er endnu ingen kommentarer her
Efterlad dine kommentarer
Sender som gæst
×
Bedøm dette indlæg:
0   Tegn
Foreslåede steder

Følg os

Copyright © 2009 - www.extendoffice.com. | Alle rettigheder forbeholdes. Drevet af ExtendOffice. | | Sitemap
Microsoft og Office-logoet er varemærker eller registrerede varemærker tilhørende Microsoft Corporation i USA og / eller andre lande.
Beskyttet af Sectigo SSL