Ik zou graag een validation list willen toevoegen aan een cell om zo een in-cell dropdown te krijgen. De named lists staan op een aparte scheet. in begin maak ik gebruik van een inputbox om te vragen welke named list te gebruiken.
Als bron voor de validation list maak ik gebruik van een formule om zo met dynamische lijsten te kunnen werken.
De formule is : =VERSCHUIVING(GroepNaam;0;0;AANTALARG(GroepNaamCol);1)
Groepnaam is eerste cel van een kolom
GroepnaamCol is de hele kolom waarvan Groepnaam de eerste cel is
Wanneer ik deze manueel aanmaak (zo heb ik ook de eens een macro opgenomen) met de exacte formule zoals hierboven werkt het. Wanneer ik de macro run (zelfs diegene die ik opgenomen heb) krijg ik steeds dezelfde fout. namelijk :
Door de toepassing of door object gedefinieerde fout
De opgenomen macro is :
Sub Macro1()
With Selection.validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=VERSCHUIVING(GroepNaam;0;0;AANTALARG(GroepNaamCol);1)"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
End Sub
De macro met inputbox is
Sub add_drop_down()
lijstNaam = InputBox("input lijstnaam", "Geef lijstnaam")
formule = "=OFFSET(" & lijstNaam & ";0;0;COUNTA(" & lijstNaam & "Col);1)"
With Selection.validation
.Delete
.Add Type:=xlValidateList, Formula1:=formule
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
End Sub
Beiden geven diezelfde fout op de regel
.Add Type:=.........
Weet iemand hier soms een oplossing voor? alvast bedankt op voorhand
Als bron voor de validation list maak ik gebruik van een formule om zo met dynamische lijsten te kunnen werken.
De formule is : =VERSCHUIVING(GroepNaam;0;0;AANTALARG(GroepNaamCol);1)
Groepnaam is eerste cel van een kolom
GroepnaamCol is de hele kolom waarvan Groepnaam de eerste cel is
Wanneer ik deze manueel aanmaak (zo heb ik ook de eens een macro opgenomen) met de exacte formule zoals hierboven werkt het. Wanneer ik de macro run (zelfs diegene die ik opgenomen heb) krijg ik steeds dezelfde fout. namelijk :
Door de toepassing of door object gedefinieerde fout
De opgenomen macro is :
Sub Macro1()
With Selection.validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=VERSCHUIVING(GroepNaam;0;0;AANTALARG(GroepNaamCol);1)"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
End Sub
De macro met inputbox is
Sub add_drop_down()
lijstNaam = InputBox("input lijstnaam", "Geef lijstnaam")
formule = "=OFFSET(" & lijstNaam & ";0;0;COUNTA(" & lijstNaam & "Col);1)"
With Selection.validation
.Delete
.Add Type:=xlValidateList, Formula1:=formule
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
End Sub
Beiden geven diezelfde fout op de regel
.Add Type:=.........
Weet iemand hier soms een oplossing voor? alvast bedankt op voorhand