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

Makro gegevensvalidatie

Status
Niet open voor verdere reacties.

Abco_B

Gebruiker
Lid geworden
6 apr 2006
Berichten
122
Ik probeer een gegevensvalidatie in te stellen in de cellen A, D, I, J en K van de actieve rij.

Hoe kan ik de eerste twee regels van onderstaande makro zo eenvoudig mogelijk weergeven ?

With Range("A" & ActiveCell.Row, "D" & ActiveCell.Row, "I" & ActiveCell.Row, _
"J" & ActiveCell.Row, "K" & ActiveCell.Row).Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=N"
.IgnoreBlank = True
.InCellDropdown = True
.ShowInput = True
.ShowError = True
End With


Bij voorbaat dank !

Abco
 
Behalve wat weg te laten bij de opties:

Code:
.IgnoreBlank = True
.InCellDropdown = True
.ShowInput = True
.ShowError = True

kan dit volgens mij niet korter.
 
Het punt is dat ik op de eerste twee regels een foutmelding krijg.
 
Beste Abco,

Uit het hoofd, dus zonder te testen, denk ik dat het geheel van jouw range ook nog tussen quotjes moet. Dus zoiets:
With Range("""& "A" & ActiveCell.Row, "D" & ActiveCell.Row, "I" & ActiveCell.Row, _
"J" & ActiveCell.Row, "K" & ActiveCell.Row & """).Validation

Richard
 
Richard,

Deze werkt bijvoorbeeld wel:

With Range("A" & ActiveCell.Row & ":F" & ActiveCell.Row).Validation

Maar is van toepassing op A t/m F

Ik wil A en F in stellen.

(Extra "" werkte niet)

Abco
 
Laatst bewerkt:
Beste Abco,

Zo lukt het mij wel:
Range("C" & ActiveCell.Row & "," & "E" & ActiveCell.Row & "," & "G" & ActiveCell.Row).Select
With Selection.Validation
etcetera.

Dus eerst het bereik selecteren en dan de validatie van de selectie aanpassen. Is en regeltje meer, maar werkt wel :-)

Succes,

Richard
 
Abco_B zei:
Het punt is dat ik op de eerste twee regels een foutmelding krijg.

Sorry, ik heb dat niet gecheckt. Om het goed te maken, de werkende code:

Code:
Sub Macro1()
    Dim r As Long, rng As Range
    r = ActiveCell.Row
    Set rng = Union(Range("A" & r), Range("D" & r), Range("I" & r, "K" & r))
    With rng.Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="=$E$26:$E$31"
        .IgnoreBlank = True
        .InCellDropdown = True
        .ShowInput = True
        .ShowError = True
    End With
End Sub

Wigi
 
Wigi en Richard,

Vriendelijk bedankt voor de oplossingen !

Abco


Dim R As Long

R = ActiveCell.Row
With Union(Range("A" & R), Range("D" & R), Range("I" & R), Range("J" & R), Range("K" & R)).Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=N"
End With
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan