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

Keuze selectie maken met datavalidation

Status
Niet open voor verdere reacties.

IlonadeGroot

Gebruiker
Lid geworden
1 apr 2011
Berichten
167
Goedemorgen,

Zie mijn bijgevoegde bestandje (staat ook in wat er aan de hand is). Dit is puur een klein voorbeeld bestandje. Dit kan normaal gesproken over Heel veel verschillende keuzes gaan. (aantal kolommen blijft wel gelijk).
Bekijk bijlage Data validation.xlsx
Ik zoek hier dus als het ware een keuze lijst met meerdere niveau's via datavalidation (ik heb de engelse versie Excel 2013).

Ik hoop dat iemand mij kan helpen.
Alvast bedankt :thumb:,
Groetjes Ilona
 
Hoi Rebmog,

Dat bedoel ik idd. Daar was ik dus nooit uitgekomen met die mooie lange formules hihi.
Super bedankt! :thumb:
 
Hoi rebmog,

Ik was iets te enthousiast. Het blijkt dat het bij meerdere regels die ingevuld worden niet goed werkt.
Hij blijft dan teruggaan naar dezelfde selectie.
 
Ik had niet begrepen dat het om meerdere regels moest gaan. Hierbij een aangepaste versie met een kleine macro en iets aangepaste formules.
 

Bijlagen

Drink wat van me....;)
Heb ik inmiddels gedaan, dank je.
Wat de link naar je webpagina betreft: als ik die in dit topic aanklik kom ik op de juiste pagina terecht, maar bij aanklikken op je site in de alfabetische index geeft die een foutmelding. Het verschil met het adres in dit topic is dat op je site in de link 'afhankelijke' staat in plaats van 'Afhankelijke'.
Je website had ik (uiteraard) al eerder bekeken, ook die is van hoge kwaliteit; mijn complimenten!
 
Hoi snb,

Het lijkt idd te werken alleen als we alledrie de kolommen hebben ingevuld en deze in 1x leeg maken krijgen we een debug die ik niet snap:


Code:
Private Sub Worksheet_Activate()
    For Each cl In Blad2.Columns(1).SpecialCells(2)
        If cl.Row > 1 Then c00 = Replace(c00 & ",", "," & cl.Value & ",", "") & "," & cl.Value
    Next
    Blad1.Range("b2:b23487").Validation.Modify , , , c00
End Sub
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("b2:c23487")) Is Nothing Then
        [COLOR="#FF0000"]If Target <> "" Then[/COLOR]
            With Blad2.Cells(1).CurrentRegion
                .AutoFilter Target.Column - 1, Target.Value
                For Each cl In .Columns(Target.Column).SpecialCells(12)
                    If cl.Row > 1 Then c00 = Replace(c00 & ",", "," & cl.Value & ",", "") & "," & cl.Value
                Next
                .AutoFilter
            End With
        Target.Offset(, 1).Validation.Modify , , , c00
        End If
    End If
End Sub

Enig idee wat ik hieraan kan doen?
En we hebben nu kolom b,c,d, met de datavalidaties. Is dit makkelijk om te zetten naar b.v. u,v,w?

Alvast bedankt,
Groetjes Ilona
 
Laatst bewerkt door een moderator:
IlonadeGroot,

Misschien boven in de macro,
Code:
If Target.Cells.Count > 1 Then Exit Sub

Je moet de volgende keer je code selecteren en dan in het bovenstaande menu op # klikken.
Zo komt je code netjes in een apart vak te staan.
 
Laatst bewerkt:
Dat werkt helaas ook niet dan krijg ik deze melding:

Macro met foutmelding.JPG

Zou het misschien kunnen liggen aan het feit dat het over 23487 regels gaat?
Ik weet niet of daar een maximum aan zit?
 
Je moet die regel wel op de goede plaats zetten.
 
Wat is dan de juiste plaats? Ik had het ook al ipv: If Target <> "" Then geprobeerd, maar dat werkt ook niet.
Excel amateur gaf aan bovenaan de macro?
 
Probeer het zo eens.
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("b2:c23487")) Is Nothing Then
        If Target <> "" Then
            With Blad2.Cells(1).CurrentRegion
                .AutoFilter Target.Column - 1, Target.Value
                For Each cl In .Columns(Target.Column).SpecialCells(12)
                    If cl.Row > 1 Then c00 = Replace(c00 & ",", "," & cl.Value & ",", "") & "," & cl.Value
                Next
                .AutoFilter
            End With
        Target.Offset(, 1).Validation.Modify , , , c00
        End If
    End If
End Sub
 
Ik krijg nog wel een foutmelding bij het openen van het bestand:

fout1.JPG
fout2.JPG

Bij het opslaan van het bestand moet ik altijd saven met SAVE AS, kan ik hier nog iets aan veranderen?
 
Sla het eens op als .xlsm extensie.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan