• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Keuzelijst op meerdere niveau's

Status
Niet open voor verdere reacties.

swanwil

Gebruiker
Lid geworden
30 aug 2010
Berichten
161
Hallo,

Ik ben op zoek naar een manier om op meerdere niveau's een keuzelijst te kunnen gebruiken.
Dus afhankelijk van keuze 1 kan ik in keuze 2 kiezen en in keuze 3.
Bijgevoegd een voorbeeld hiervan. in werkelijkheid zijn de keuzelijsten veel uitgebreider.

Alvast bedankt voor de hulp

Bekijk bijlage Keuzelijsten op meerdere niveau's.xlsx
 
Beste KristiaanL,

Werkt inderdaad prima. Dank daarvoor!
Maar is wel veel programmeerwerk om alle namen te definiëren in de werkelijke lijst van +/- 500 regels.
Is er ook een mogelijkheid die de kolommen filtert afhankelijk van de keuzes die je selecteert?
Dan kan ik makkelijker de lijst aanpassen/uitbreiden en beheren zonder overzicht in "Namen beheren" te verliezen
 
Snap ik, zeker voor meerdere lijsten is dit niet het meest ideaal. Ik ken alleen geen dynamische oplossing voor dit probleem.
 
Ik denk aan een stukje VBA.
In de module van het werkblad.
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim Br
    Dim i As Long, x As Long
    Dim Rng As Range
    
    Set Rng = Range("G2:I2")
    If Intersect(Target, Rng) Is Nothing Or Target.Count > 1 Then Exit Sub
    Br = Cells(1).CurrentRegion
    x = Target.Column - Rng.Column + 1
    With CreateObject("Scripting.Dictionary")
        For i = 2 To UBound(Br)
            Select Case x
                Case 1
                    .Item(Br(i, 1)) = 0
                Case Is > 1
                    If Br(i, x - 1) = Target.Offset(, -1) Then .Item(Br(i, x)) = 0
            End Select
        Next
        Target.Validation.Delete
        If .Count > 0 Then Target.Validation.Add xlValidateList, , , Join(.Keys, ",")
    End With
End Sub
 
Laatst bewerkt:
Als je een lange complexe lijst hebt dan is vba waarschijnlijk de meest flexible oplossing in jou situatie.

In de categorie "Beter goed gejat dan slecht bedacht" heb ik van de volgende link een voorbeeld sheet gehaald en toegepast op jou sheet.
http://www.thesmallman.com/cascading-drop-down-lists/

Globale werking
- in de vba sectie "this workbook" staat een macro die elke keer als je het workbook opent de comboboxen opnieuw samenstelt
- daarnaast wordt er bij het wijzigen van een de comboboxen de keuze ingeperkt tot de geldige keuzes via een macro gekoppeld aan de comboboxen, die macro's staan in het werkblad in de vba editor.
 

Bijlagen

  • Keuzelijsten op meerdere niveau's vba.xlsm
    27,9 KB · Weergaven: 35
Laatst bewerkt:
Daar schieten draaitabellen te hulp:

dubbelklik in E1, E2 of E3 en vervolgens op iedere vervolgkeuze die je wil maken
 

Bijlagen

  • __afhankelijke keuzelijsten_snb.xlsx
    12,8 KB · Weergaven: 55
Iets gebruikersvriendelijker versie:
 

Bijlagen

  • __afhankelijke keuzelijsten_snb.xlsx
    13 KB · Weergaven: 46
Allen, bedankt voor jullie bijdrage.
De draaitabellen, lijkt me een mooie oplossing.

Deze ga ik gebruiken.

groeten Wiswa
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan