ich versuche ziemlich erfolgslos zwei in einer Tabelle eingebette Active-X Comboboxen zu befüllen.
Beiden haben als Quelle den Bereich L1:L9, in dem Namen stehen. Es sollen jedoch folgende Bedingungen erfüllt werden:
- es soll egal sein welche Box als erstes ausgewählt wird.
- wird ein Name ausgewählt, soll er in der jeweils anderen Box nicht mehr zur Auswahl stehen
Ich habe mich versucht durch diverse Beiträge zu lesen und bin mittlerweile ziemlich verwirrt, wann sich Listfillrange oder additem bzw. removeitem lohnt...
Mein bisheriger Code sieht so aus:
Private Sub ComboBox1_DropButtonClick()
Dim lRow As Long
Dim s As Integer
ComboBox1.Clear
If ComboBox2.Value "" Then
For s = 2 To Range("L100").End(xlUp).Row
If Cells(s, 12) ComboBox2.Value Then
With ComboBox1
.AddItem Cells(s, 12)
End With
End If
Next s
Else
lRow = ActiveSheet.Cells(Rows.Count, 12).End(xlUp).Row
ComboBox1.ListFillRange = "L1:L" & lRow
End If
End Sub
Private Sub ComboBox2_DropButtonClick()
Dim lRow As Long
Dim s As Integer
ComboBox2.Clear
If ComboBox1.Value "" Then
For s = 2 To Range("L100").End(xlUp).Row
If Cells(s, 12) ComboBox1.Value Then
With ComboBox2
.AddItem Cells(s, 12)
End With
End If
Next s
Else
lRow = ActiveSheet.Cells(Rows.Count, 12).End(xlUp).Row
ComboBox2.ListFillRange = "L1:L" & lRow
End If
End Sub
Aktuell bekomme ich immer einen Laufzeitfehler ('-2147467259... Nicht näher bezeichneter Fehler) bei Combobox1.clear oder einen "Zugriff verweigert"-Fehler bei der Code Zeile ".AddItem Cells(s, 12)" angezeigt...
Ich würde mich sehr freuen, wenn ihr mir Tipps geben könnt, wie ich meinen Code anpassen kann, sodass es funktioniert.
Vielen Dank!
Matthias