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

Hoe maak je dynamische trapsgewijze keuzelijsten in Excel?

U weet misschien hoe u een vervolgkeuzelijst met trapsgewijze validatie in Excel kunt maken. Hoe maak je echter dynamische trapsgewijze keuzelijsten in Excel? Dit artikel introduceert een VBA-methode om het te verwijderen.

Maak dynamische trapsgewijze keuzelijsten met VBA-code

Tabblad Office Bewerking en browsen met tabbladen in Office inschakelen en uw werk veel gemakkelijker maken ...
Kutools voor Excel lost de meeste van uw problemen op en verhoogt uw productiviteit met 80%
  • Hergebruik alles: Voeg de meest gebruikte of complexe formules, grafieken en al het andere toe aan uw favorieten en gebruik ze in de toekomst snel opnieuw.
  • Meer dan 20 tekstfuncties: Nummer uit tekststring halen; Extract of verwijder een deel van teksten; Converteer cijfers en valuta's naar Engelse woorden.
  • Tools samenvoegen: Meerdere werkmappen en bladen in één; Meerdere cellen / rijen / kolommen samenvoegen zonder gegevens te verliezen; Voeg dubbele rijen en som samen.
  • Hulpmiddelen splitsen: Gegevens splitsen in meerdere bladen op basis van waarde; Eén werkmap naar meerdere Excel-, PDF- of CSV-bestanden; Eén kolom naar meerdere kolommen.
  • Plakken overslaan Verborgen / gefilterde rijen; Tel en som op achtergrondkleur; Stuur gepersonaliseerde e-mails in bulk naar meerdere ontvangers.
  • Superfilter: Maak geavanceerde filterschema's en pas deze toe op elk blad Sorteer per week, dag, frequentie en meer; Filteren door vetgedrukt, formules, commentaar ...
  • Meer dan 300 krachtige functies; Werkt met Office 2007-2021 en 365; Ondersteunt alle talen; Eenvoudig te implementeren in uw onderneming of organisatie.

Maak dynamische trapsgewijze keuzelijsten met VBA-code

Zoals onderstaand screenshot laat zien, moet u een bovenliggende keuzelijst maken met de unieke waarden van de Drankkolom en alle bijbehorende waarden weergeven in de tweede keuzelijst op basis van selectie in de bovenliggende keuzelijst. De volgende VBA-code helpt u om dit te bereiken. Ga als volgt te werk.

1. Ten eerste moet u alle unieke waarden uit de kolom Drinken halen. Selecteer een lege cel en voer een matrixformule in =IFERROR(INDEX($A$2:$A$11, MATCH(0,COUNTIF($J$1:J1, $A$2:$A$11), 0)),"") in de Formule balken druk vervolgens op Ctrl + Shift + Enter sleutel. Sleep vervolgens het Vul de handgreep om alle unieke waarden te krijgen. Zie screenshot:

Opmerking:: In de formule, $A$2:$A$11 is het bereik waaruit u unieke waarden haalt. J1 is de cel boven waar uw formule zich bevindt.

Tip: Als de formule te moeilijk te onthouden en te hanteren is, wordt de Selecteer Dubbele en unieke cellen nut van Kutools for Excel is een goede keuze om snel alle unieke waarden uit een kolom te extraheren.

Selecteer de kolom met unieke waarden waaruit u wilt extraheren. Schakel vervolgens het hulpprogramma in door op te klikken Kutools > kies > Selecteer Dubbele en unieke cellen. In de Selecteer Dubbele en unieke cellen dialoogvenster, selecteert u het Allemaal uniek (inclusief 1e duplicaten) optie en klik op de OK knop. Vervolgens worden alle unieke waarden in de kolom geselecteerd. Kopieer en plak ze op een nieuwe plaats. Zie screenshot:

Kutools for Excel: met meer dan 200 handige Excel-invoegtoepassingen, gratis te proberen zonder beperking in 60 dagen. Download en probeer nu gratis!

2. Voeg twee keuzelijsten afzonderlijk in door op te klikken Ontwikkelaar > Invoegen > Keuzelijst (ActiveX-besturingselement). Zie screenshot:

3. Klik met de rechtermuisknop op de bovenliggende keuzelijst en selecteer Vastgoed vanuit het contextmenu. In de Vastgoed dialoogvenster, wijzigt u het (Naam) veld naar Drinken of een andere naam als u nodig heeft, voert u het celbereik in dat de geëxtraheerde unieke waarden bevat in de LijstVullenBereik veld en sluit het dialoogvenster.

4. Herhaal stap 3 om de tweede keuzelijst te wijzigen (Naam) veld naar Item in het Vastgoed dialoog venster.

5. Klik met de rechtermuisknop op de bladtab en selecteer Bekijk code vanuit het rechtsklikmenu. Kopieer vervolgens onderstaande VBA-code naar het codevenster. Zie screenshot:

VBA-code: maak dynamische trapsgewijze keuzelijsten in 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

Opmerkingen: In de code Drinken en Artikel staan ​​de namen van twee keuzelijsten, verander ze in uw eigen naam.

6. druk de anders + Q toetsen om de Microsoft Visual Basic voor toepassingen venster.

7. Schakel de ontwerpmodus uit door op te klikken Ontwikkelaar > Ontwerpmodus.

Vanaf nu worden bij het selecteren van een soort drank zoals Koffie in de bovenliggende keuzelijst alle koffie-items in de tweede weergegeven. Als u Thee of wijn selecteert, worden alleen de thee- of wijnitems in de tweede keuzelijst weergegeven. Zie screenshot:


Gerelateerde artikelen:


De beste tools voor kantoorproductiviteit

Kutools voor Excel lost de meeste van uw problemen op en verhoogt uw productiviteit met 80%

  • visfuik: Snel invoegen complexe formules, grafieken en alles wat je eerder hebt gebruikt; Versleutel cellen met wachtwoord; Maak een mailinglijst en stuur e-mails ...
  • Super Formula-balk (bewerk eenvoudig meerdere regels tekst en formule); Lay-out lezen (gemakkelijk grote aantallen cellen lezen en bewerken); Plakken in gefilterd bereik...
  • Voeg cellen / rijen / kolommen samen zonder gegevens te verliezen; Gespleten cellen inhoud; Combineer dubbele rijen / kolommen... Voorkom dubbele cellen; Vergelijk Ranges...
  • Selecteer Dupliceren of Uniek Rijen; Selecteer lege rijen (alle cellen zijn leeg); Super zoeken en fuzzy zoeken in veel werkboeken; Willekeurige selectie ...
  • Exacte kopie Meerdere cellen zonder de formuleverwijzing te wijzigen; Maak automatisch verwijzingen naar meerdere bladen; Plaats kogels, Selectievakjes en meer ...
  • Extraheer tekst, Tekst toevoegen, Verwijderen op positie, Ruimte verwijderen; Paging-subtotalen maken en afdrukken; Converteren tussen celinhoud en opmerkingen...
  • Super filter (bewaar en pas filterschema's toe op andere bladen); Geavanceerd sorteren per maand / week / dag, frequentie en meer; Speciaal filter door vet, cursief ...
  • Combineer werkmappen en werkbladen; Tabellen samenvoegen op basis van sleutelkolommen; Gegevens splitsen in meerdere bladen; Batch Converteer xls, xlsx en PDF...
  • Meer dan 300 krachtige functies. Ondersteunt Office / Excel 2007-2021 en 365. Ondersteunt alle talen. Eenvoudig te implementeren in uw onderneming of organisatie. Volledige functies Gratis proefperiode van 30 dagen. 60 dagen geld-terug-garantie.
kte tabblad 201905

Office-tabblad Brengt een interface met tabbladen naar Office en maakt uw werk veel gemakkelijker

  • Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in, Publisher, Access, Visio en Project.
  • Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster in plaats van in nieuwe vensters.
  • Verhoogt uw productiviteit met 50% en vermindert honderden muisklikken voor u elke dag!
officetab onderkant
Heb je vragen? Stel ze hier. (1)
Nog geen beoordelingen. Beoordeel als eerste!
Deze opmerking is gemaakt door de moderator op de site
Hi

Waar verwijst "Ik" naar in de code en hoe verandert de code als ik een MultiSelect-lijst heb?

Met vriendelijke groet
Er zijn nog geen reacties geplaatst
Laat uw commentaar
Posten als gast
×
Beoordeel dit bericht:
0   Personages
Voorgestelde locaties

Volg ons

Copyright © 2009 - www.extendoffice.com. | Alle rechten voorbehouden. Aangedreven door ExtendOffice. | Sitemap
Microsoft en het Office-logo zijn handelsmerken of gedeponeerde handelsmerken van Microsoft Corporation in de Verenigde Staten en / of andere landen.
Beschermd door Sectigo SSL