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

Dynamische afhankelijke datavalidatie

Status
Niet open voor verdere reacties.

Doperwt

Gebruiker
Lid geworden
16 sep 2013
Berichten
17
Beste,

Wellicht dat deze vraag al eerder is gesteld, maar ik kom er maar niet uit. De bedoeling is om een afhankelijke datavalidatie te creëren op basis van de input van een cel daarvoor. Het gaat als volgt: In cel Blad1!A1 maak ik de keuze tussen "Eind" of "Half" ; In cel Blad1!B1, wanneer in Blad1!A1 is gekozen voor "Eind", tussen "Diversen" / "Kruiden" / "Salades" / "Groente" / "Vlees" / "Zetmeel". Daarna wil ik in Blad1!C1 een keuzelijst met alle eindproducten die in de componentgroep zitten die is gekozen in Blad1!B1.

Situatie:
Zie mijn afbeelding voor beeld, dit is de database. De keuzelijst in Blad1!C1 moet zich vullen met alle producten die zich bevinden in de componentgroep "Groente". De database wordt handmatig aangevuld dus de lijst moet dynamisch zijn. Ik zit te klooien nu met de INDIRECT formule maar ik kom er maar niet uit. Kan iemand mij een eindje op weg helpen?

test.png
 
Laatst bewerkt:
Doorzoek dit forum eens op getrapte validatie.

Enne: een excel-voorbeeldbestand werkt beter om antwoorden te krijgen dan plaatjes. Dit is tenslotte geen photoshop forum.
 
Bedankt voor jullie suggesties! Na een paar uur ermee te hebben geworsteld kom ik maar niet verder. Eerst moet ik de keuze maken tussen "Eind" of "Half" waarna ik een keuze moet maken uit de bijbehorende componentgroepen. Vervolgens wil ik een lijst krijgen met alle ingrediënten die onder die groep vallen, zonder blanke cellen, maar dat lukt mij maar niet. Daarnaast moet de lijst ook dynamisch zijn aangezien er steeds nieuwe ingrediënten handmatig worden toegevoegd. De formules daarna, wat betreft verticaal zoeken van gewicht en prijs, doen het wel.

Zou iemand naar mijn bestand willen kijken en mij op weg willen helpen?

Bekijk bijlage Getrapte validatie Doperwt bestand.xlsm
 
Laatst bewerkt:
Wijzig in E5 de validatieregel in
Code:
=INDIRECT(C5)
en wijzig de naam van de kolommen bij instellingen in eind en half
 
Ik heb een ander voorbeeld.
Kijk maar of dit werkt zoals je wilt.
Dan kan ik dezelfde code toepassen op jouw bestand.
Laat maar weten.
 

Bijlagen

Dag robdgr. Dat werkt idd mooi voor de componentgroepen maar het gaat voornamelijk om de ingrediënten.

Dag Piet. Dat is exact zoals ik wil dat het werkt. Ik zal eens kijken of ik het één en ander kan kopiëren ahv jouw bestand! Ik moet even kijken hoe dat werkt met het data pakken van verschillende sheets. Ik hou je op de hoogte.

EDIT: Dit is lastiger dan ik dacht. Mijn kennis van Macro is erg basic en ik worstel met het probleem van verschillende worksheets. Zou jij, zoals je eerder voorstelde, een klein stukje van de code willen toepassen op mijn bestand?
 
Laatst bewerkt:
Maak van je gegevens echte tabellen. Zorg ervoor dat de structuur hetzelfde is en dan kan het met

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("C5:D15")) Is Nothing And Target.Count = 1 Then
    Application.EnableEvents = False
    If Target.Column = 3 Then
        Target.Offset(, 1).Resize(, 2).ClearContents
      Else
        If Target.Offset(, -1) = "Eind" Then ar = Sheets("Eindproducten").ListObjects(1).DataBodyRange Else ar = Sheets("Halfproducten").ListObjects(1).DataBodyRange
        For j = 1 To UBound(ar)
            If ar(j, 5) = Target Then c00 = c00 & "," & ar(j, 3)
        Next j
        With Target.Offset(, 1).Validation
            .Delete
            If c00 <> "" Then .Add xlValidateList, , , Mid(c00, 2)
        End With
    End If
End If
Application.EnableEvents = True
End Sub
 

Bijlagen

Dag VenA

Dat werkt prima! Echter ben ik niet zo heel kundig met macro's en heb ik een formule gevonden die een soortgelijk resultaat geeft. Enige nadeel aan deze formule is dat ik telkens opnieuw moet sorteren, in de lijsten van eind- en halfproducten, op componentgroepen. Anders pakt ie niet alle ingrediënten mee. De code is als volgt:
Code:
=ALS($B4="Eind";VERSCHUIVING(Eindproducten!$D$1;VERGELIJKEN($C4;Eindproducten!$F:$F;0)-1;;AANTAL.ALS(Eindproducten!$F:$F;$C4));VERSCHUIVING(Halfproducten!$C$2;VERGELIJKEN($C4;Halfproducten!$D:$D;0)-1;;AANTAL.ALS(Halfproducten!$D:$D;$C4)))

Allemaal bedankt voor jullie hulp en tijd!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan