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

Voorwaardelijke dropdownmenu's

Status
Niet open voor verdere reacties.
@Emields Blad "PRO FORMA" Cel F29:52

@Timshel Dat snap ik volkomen. Is het een optie dat ik jou direct het originele bestand stuur?

Cellen A28 tm A52 bevatten geen inhoud of opmaak, maar helaas geen verschil.
Het leeg laten van kolom A heeft te maken met de.pdf en printbare layout van de sheet.
 
@Emields dat is exact wat ik zoek en doet precies wat het moet doen! Werkt ook in het origineel, met toch nog 1 probleem: Bij uitvoering krijg ik foutcode 91 "Object variabele of blokvariabele With is niet ingesteld" en hij markeert regel:
Code:
If Z.Offset(, 5) = "Ja" Then
Vermoedelijk heeft dit te maken met het feit dat er in de lijst die in kolom "C" word opgesteld óók waardes (producten) uit andere bronnen dan "Sanremo Inhoud" voorkomen met dus andere benamingen dan welke te vinden zijn in "Sanremo Inhoud".

Als je een manier hebt om hier omheen te werken/ de niet herkende waardes over te slaan dan is hij denk ik compleet!! :):d:thumb:

Goed om te weten is dat ik de offsets op 2 plaatsen heb veranderd en de Range naar "F" ipv "L" zodat de uitkomst van de validatie in kolom "F" plaats vind (ipv "L")
Huidige code:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("n3")) Is Nothing Then
With Range("f28:f59")
    .Validation.Delete
    .ClearContents
    End With
For Each cell In Range("c28:c59")
If cell <> "" Then
x = cell.Value
With Sheets("Sanremo inhoud").Range("a2:a35")
Set Z = .Find(x, LookIn:=xlValues)
If Z.Offset(, 5) = "Ja" Then
 cell.Offset(, 3).Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:="=kies"
 cell.Offset(, 3).FormulaR1C1 = "Kies voltage"
End If
End With
End If
Next
End If
End Sub

Enorm bedankt voor alle moeite!
 
Laatst bewerkt:
Waarschijnlijk is uw lijst in blad san remo langer dan in uw voorbeeld, als dat zo is pas dan volgende lijn aan.

With Sheets("Sanremo inhoud").Range("a2:a35")
 
Uitgaande van de code van emields
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("n3")) Is Nothing Then
        With Range("f28:f59")
            .Validation.Delete
            .ClearContents
        End With
        For Each cell In Range("c28:c59")
            If cell <> "" Then
                x = cell.Value
                With Sheets("Sanremo inhoud").Range("a2:a35")
                    Set Z = .Find(x, LookIn:=xlValues)
                    [COLOR="#FF0000"]If Not Z Is Nothing Then[/COLOR]
                        If Z.Offset(, 5) = "Ja" Then
                            cell.Offset(, 3).Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
                                xlBetween, Formula1:="=kies"
                            cell.Offset(, 3).FormulaR1C1 = "Kies voltage"
                        End If
                    [COLOR="#FF0000"]End If[/COLOR]
                End With
            End If
        Next
    End If
End Sub
 
@Timshel en @emields

Alles werkt!! Enorm bedankt voor jullie hulp! Mijn dank is groot!

Allerlaatste vraag (beloofd), is er een eenvoudige manier om de zoekopdracht NIET hoofdletter gevoelig te maken?

Bedankt!
 
De zoekopdracht is standaard niet-hoofdlettergevoelig. Het probleem zit hem misschien in de switch LookAt die ontbreekt in de code van Emiel.
Probeer het zo
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("n3")) Is Nothing Then
        With Range("f28:f59")
            .Validation.Delete
            .ClearContents
        End With
        For Each cell In Range("c28:c59")
            If cell <> "" Then
                x = cell.Value
                With Sheets("Sanremo inhoud").Range("a2:a35")
                    [COLOR="#FF0000"]Set Z = .Find(x, LookAt:=xlWhole, MatchCase:=False)[/COLOR]
                    If Not Z Is Nothing Then
                        If Z.Offset(, 5) = "Ja" Then
                            cell.Offset(, 3).Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
                                xlBetween, Formula1:="=kies"
                            cell.Offset(, 3).FormulaR1C1 = "Kies voltage"
                        End If
                    End If
                End With
            End If
        Next
    End If
End Sub
 
De zoekopdracht is standaard niet-hoofdlettergevoelig. Het probleem zit hem misschien in de switch LookAt die ontbreekt in de code van Emiel.
Probeer het zo
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("n3")) Is Nothing Then
        With Range("f28:f59")
            .Validation.Delete
            .ClearContents
        End With
        For Each cell In Range("c28:c59")
            If cell <> "" Then
                x = cell.Value
                With Sheets("Sanremo inhoud").Range("a2:a35")
                    [COLOR="#FF0000"]Set Z = .Find(x, LookAt:=xlWhole, MatchCase:=False)[/COLOR]
                    If Not Z Is Nothing Then
                        If Z.Offset(, 5) = "Ja" Then
                            cell.Offset(, 3).Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
                                xlBetween, Formula1:="=kies"
                            cell.Offset(, 3).FormulaR1C1 = "Kies voltage"
                        End If
                    End If
                End With
            End If
        Next
    End If
End Sub

Bedankt @Timshel
Helaas geen verschil. Ik los het op door de invoer Op blad Sanremo Inhoud te bepalen middels gegevensvalidatie. Dan is er alleen keuze tussen een lege cel of een juist geschreven "Ja".

Beide enorm bedankt! Jullie zijn wat mij betreft helden!
 
Of anders
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("n3")) Is Nothing Then
        With Range("f28:f59")
            .Validation.Delete
            .ClearContents
        End With
        For Each cell In Range("c28:c59")
            If cell <> "" Then
                x = cell.Value
                With Sheets("Sanremo inhoud").Range("a2:a35")
                    Set Z = .Find(x, LookAt:=xlWhole, MatchCase:=False)
                    If Not Z Is Nothing Then
                        [COLOR="#FF0000"]If LCase(Z.Offset(, 5)) = "ja" Then[/COLOR]
                            cell.Offset(, 3).Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
                                xlBetween, Formula1:="=kies"
                            cell.Offset(, 3).FormulaR1C1 = "Kies voltage"
                        End If
                    End If
                End With
            End If
        Next
    End If
End Sub
 
Of anders
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("n3")) Is Nothing Then
        With Range("f28:f59")
            .Validation.Delete
            .ClearContents
        End With
        For Each cell In Range("c28:c59")
            If cell <> "" Then
                x = cell.Value
                With Sheets("Sanremo inhoud").Range("a2:a35")
                    Set Z = .Find(x, LookAt:=xlWhole, MatchCase:=False)
                    If Not Z Is Nothing Then
                        [COLOR="#FF0000"]If LCase(Z.Offset(, 5)) = "ja" Then[/COLOR]
                            cell.Offset(, 3).Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
                                xlBetween, Formula1:="=kies"
                            cell.Offset(, 3).FormulaR1C1 = "Kies voltage"
                        End If
                    End If
                End With
            End If
        Next
    End If
End Sub

Gelukt!! Helemaal super en nogmaals grote dank!!

Slotje!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan