wijzig taal:

Met gegevensvalidatie kunnen keuzelijsten aan cellen worden toegevoegd. Hier zal worden uitgelegd hoe de keuzemogelijkheden van een keuzelijst afhankelijk gemaakt kunnen worden van de gekozen waarde in een andere keuzelijst. Dit wordt ook wel getrapte validatie genoemd. In onderstaand voorbeeld zijn in cellen A1 en B1 keuzelijsten opgenomen. De bedoeling is dat als in A1 voor jongen gekozen wordt, dat dan alleen jongensnamen (cellen D1:D4) zichtbaar zijn in keuzelijst B1 en bij de keuze voor meisje alleen meisjesnamen (cellen E1:E4).

afhankelijke keuzelijsten 1

Om dat te realiseren moet eerst aan cel A1 met gegevensvalidatie een keuzelijst worden toegevoegd met keuzemogelijkheden jongen en meisje:

afhankelijke keuzelijsten 2

De volgende stap is dat de bereiken D1:D4 en E1:E4 een naam moet worden gegeven. De namen moeten zijn 'jongen' en 'meisje'. Dit kan het eenvoudigst gedaan worden door eerst het bereik te selecteren en vervolgens in het naamvak de betreffende naam te typen:

afhankelijke keuzelijsten 3

De laatste stap is het toevoegen van de afhankelijke keuzelijst aan cel B1. Als bron voor deze lijst moet ingegeven worden: =INDIRECT(A1)

afhankelijke keuzelijsten 4

Hierna zullen in de keuzelijst van B1 alleen maar meisjesnamen verschijnen als in A1 meisje gekozen wordt en jongensnamen als in A1 jongen gekozen wordt. De keuzelijst van B1 is hierdoor afhankelijk gemaakt van de keuzelijst van A1.

Vragen / suggesties

Hopelijk heeft dit artikel geholpen om afhankelijke keuzelijsten in Excel te maken. Als er verdere vragen over dit onderwerp zijn of suggesties voor verbetering, plaats dan een reactie hieronder.

Reacties  
# Bas 22-01-2021 17:33
Goedemiddag,

Is het mogelijk om een keuzelijst te maken, waarbij de keuzelijst steeds wordt inkort aan de hand van een eerder gegeven antwoorden?

De keuzelijst wil ik gebruiken voor het spel 'Ranking the Stars'. Bij dit spel moeten 18 collega's hun andere collega's rangschikken van 1 t/m 18. Als iemand op plaats 1 bijvoorbeeld 'Mark' kiest, dan kan 'Mark' dus niet meer gekozen worden op plek 2 t/m 17. Ik zou dan ook willen dat de vervolgkeuzelijst bestaat uit de overgebleven 17 collega's. Als iemand vervolgens op plaats 2 'Sascha' kiest, dan kunnen 'Mark' en 'Sascha' dus niet meer gekozen worden op plek 3 t/m 17. De vervolgkeuzelijst bestaat dan nog maar uit 16 collega's etc. etc.

Is dit mogelijk door gebruik te maken van een aangepast vervolgkeuzelijst? Ik ben reuze benieuwd. Alvast bedankt. :)
Antwoorden
# Daniela 17-12-2020 08:57
Hoi,

Super interessant en het werkt heel goed!

Nu heb ik alleen een kleine uitbereiding hierop nodig..

Ik zou graag twee verschillende cellen in dezelfde rij afhankelijk willen maken van één en dezelfde cel in die rij.

Dus: ik wil als eerst mijn product kiezen uit een drop down, en afhankelijk van deze keuze wil ik een 'afhankelijke' dropdown creëren bij leveranciers (dus alleen de leveranciers in beeld die dat product leveren) en bij verpakkingseenheid (alleen de verpakkingseenheid waarin het product ingekocht kan worden).

Nu heb ik alle stappen doorlopen. Ik heb de producten gegroepeerd, ik heb de verpakkingseenheid voor elk product gegroepeerd, en ik heb de leveranciers voor elk product gegroepeerd (op een andere regel; zelfde naam + _L).

Nu is het mij gelukt om de verpakkingseenheid afhankelijk te maken van het product. Het lukt me echter niet (niet de juiste formule bij gegevensvalidatie?) om de leverancier ook afhankelijk te maken van het product.

Heb jij misschien een idee hoe ik dit kan doen en wat ik wellicht fout doe?
Antwoorden
# Manfred van den Noort 17-12-2020 09:36
Hoi Daniela,
Gebruik dan bij leveranciers de formule: INDIRECT(A1&"_L")
Antwoorden
# Daniela 17-12-2020 10:38
Het is gelukt, geweldig! Dank je wel.
Antwoorden
# Jacob 11-12-2020 13:38
Bedankt Manfred, weer een stukje verder met mijn puzzel.

Het werkt.
Antwoorden
# Jacob 11-12-2020 11:00
Kan het eerste veld ook "gereset" worden.

Dus veld waar je jongen meisje selecteerd, blanko en vervolgens de afhankelijke dropdown ook leeg wordt?
Antwoorden
# Manfred van den Noort 11-12-2020 11:47
Dat kan alleen met VBA. Zet daarvoor de volgende code achter het werkblad:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then
Range("B1").ClearContents
End If
End Sub
Antwoorden
# Jacob 11-12-2020 11:48
Beter gezegd:
in dropdown #1
optie 1 -> ""
optie 2 -> meisje
optie 3 -> jongen

Bij optie 1 moet de afhankelijke dropdown leeg zijn.
Antwoorden
# Manfred van den Noort 11-12-2020 12:32
Als gezegd kan dat met VBA. De code die ik je in mijn vorige reactie gaf regelt dan B1 leeg wordt gemaakt als A1 wijzigt. Want als je bijv. jongen wijzigt naar meisje, dan moet B1 ook leeg worden.
Antwoorden
# Jacob 17-12-2020 14:19
Ik wil niet te veel vragen maar heb de afgelopen tijd geprobeerd de VBA uit te breiden.
Dit is waar ik vast loop:
Range("H6").ClearContents

^^ werkt perfekt voor Cell H6.
Nu probeer ik het zover te krijgen dat als cell F6 (de eerste dropdown) de rest van de regel ook blanco is:

Range("H6&H6&J6&L6&N6&P6&R6&T6").ClearContents

^^ dat werkt blijkbaar niet. Nu moet ik wel erbij zeggen dat het 3 azonderlijke afhankelijke dropdowns zijn.

de eerste geeft weer een hoofdgroep met afzonderlijk de items.

De tweede een locatie met locatie eisen.

De derde een veiligheidscode.

MvG.
Antwoorden
# Manfred van den Noort 17-12-2020 14:54
De syntax klopt niet. Je moet de cellen in dit geval scheiden door een komma. Dus:
Range("H6,J6,L6,N6,P6,R6,T6").ClearContents
Antwoorden
# Nike 13-11-2020 17:51
Hoi, kan je deze gegevens (hier de namen) ook uit een ander blad in hetzelfde bestand halen?
Antwoorden
# Manfed van den Noort 14-11-2020 09:31
Jazeker, dat is geen enkel probleem. Dat kan gewoon volgens de hierboven omschreven werkwijze.
Antwoorden
arrow_up