Met behulp van VB code wil ik cel 2 van kolom “Naam” vullen met een ComboBox met waarden uit Blad2$A:$A.
Kolom “Naam” kan per aangeleverd bestand op verschillende posities staan
Met gegevensvalidatielijst lukt dit prima (met dank aan Lam201)
Daar de waarden op Blad2$A:$A over de 100 kunnen gaan is het handiger om te kunnen zoeken m.b.v. een ComboBox.
Iemand een idee hoe dit te realiseren in VBA ?
Alvast bedankt voor de hulp.
VBA voor gegevensvalidatielijst van Lam201
Sub VulDropdownList()
Dim str As String
Dim c As Long
Dim r As Long
str = "Naam"
'--Zoek "Opbrengstcategorie" in rij 1--
If WorksheetFunction.CountIf(Range("1:1"), str) > 0 Then
c = WorksheetFunction.Match(str, Range("1:1"), 0)
Else
MsgBox str & " niet gevonden", vbCritical
Exit Sub
End If
'--Aantal rijen met data validatie bepalen op kolom A--
r = WorksheetFunction.CountA(Range("A:A"))
If r < 2 Then r = 2
'--Gegevens validatie toepassen--
With Range(Cells(2, c), Cells(2, c).Offset(r - 2, 0))
With .Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=Blad2!$A:$A"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
End With
End Sub
Kolom “Naam” kan per aangeleverd bestand op verschillende posities staan
Met gegevensvalidatielijst lukt dit prima (met dank aan Lam201)
Daar de waarden op Blad2$A:$A over de 100 kunnen gaan is het handiger om te kunnen zoeken m.b.v. een ComboBox.
Iemand een idee hoe dit te realiseren in VBA ?
Alvast bedankt voor de hulp.
VBA voor gegevensvalidatielijst van Lam201
Sub VulDropdownList()
Dim str As String
Dim c As Long
Dim r As Long
str = "Naam"
'--Zoek "Opbrengstcategorie" in rij 1--
If WorksheetFunction.CountIf(Range("1:1"), str) > 0 Then
c = WorksheetFunction.Match(str, Range("1:1"), 0)
Else
MsgBox str & " niet gevonden", vbCritical
Exit Sub
End If
'--Aantal rijen met data validatie bepalen op kolom A--
r = WorksheetFunction.CountA(Range("A:A"))
If r < 2 Then r = 2
'--Gegevens validatie toepassen--
With Range(Cells(2, c), Cells(2, c).Offset(r - 2, 0))
With .Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=Blad2!$A:$A"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
End With
End Sub