ich beiße mich schon seit Tagen an einem Problem aus, weshalb ich euch um eure Hilfe bitten möchte:
Es gibt 3 ComboBox Felder einer UserForm, die beim intialen Laden des Userforms wie folgt definiert werden:
ComboBox1 = Lieferant
ComboBox2 = Rechnungsbeschreibung
ComboBox3 = Kostenart
...
Worksheets("Invoices Archive").Select ' hier dropdown für Rest
ende = 0
Do Until Cells(ende + 1, 1) = ""
ende = ende + 1
Loop
Invoice.ComboBox1.RowSource = "a2:a" & ende
Invoice.ComboBox2.RowSource = "B2:B" & ende
Invoice.ComboBox4.RowSource = "f2:f" & ende
...
Funktioniert soweit gut, es lassen sich alle Einträge dieser Spalten auswählen.
Hintergrund der Problemstellung - Sinn und Zweck ist die vereinfachte Erfassung von eingehenden Rechnungen: So soll bei der Auswahl des Lieferanten in der ComboBox1 in ComboBox2 nur noch das zur Auswahl stehen, was bisher zu diesem Lieferanten angefallen ist.
Vorgehen: Ich generiere eine ComboBox1_Change() Anfrage, filtere Spalte A nach dem, was in ComboBox1 definiert wurde und definiere die Einträge der ComboBox2 entsprechend dem, was in Zeile B nach der Filterung übrig bleibt.
Das Thema wurde schon verschiedener Weise aufgegriffen, jedoch greift keine der Lösungen, auch auf mehrfaches Testen.
Anbei ein Beispiel von Werner, das ich aus folgendem Thread https://www.herber.de/forum/archiv/1580to1584/1583273_ComboBox_nur_gefilterte_Werte_zulassen.html in meine Datei überführt habe:
Private Sub ComboBox1_Change()
Dim raBereich As Range, raZelle As Range
Dim loLetzte As Long
Sheets("Invoices Archive").Visible = True
Sheets("Invoices Archive").Select
If Invoice.ComboBox1 = "Please enter or choose the supplier / Bitte Lieferant eingeben oder auswählen" Then
Exit Sub
Else
On Error GoTo weiter:
ActiveSheet.Range("A:I").AutoFilter Field:=1, Criteria1:=Invoice.ComboBox1 '/ nach Supplier filtern
weiter:
### Bis hierhin funktioniert das Makro ###
With Worksheets("Invoices Archive")
loLetzte = .Cells(Rows.Count, 1).End(xlUp).Row
Set raBereich = .Range(Cells(2, 1), Cells(loLetzte, 1))
For Each raZelle In raBereich.SpecialCells(xlCellTypeVisible)
Me.ComboBox2.AddItem raZelle.Value
Next raZelle
End With
End If
Auch die Fassung von Nepomuk hat nicht funktioniert, erfolglos war ich bei diesen Ansätzen:
https://www.herber.de/forum/archiv/1336to1340/1339889_Combobox_mit_gefilterten_Werten_fuellen.html oder
https://www.herber.de/forum/archiv/1196to1200/1197059_Combobox_Fokus_auf_gefilterte_Daten.html
Herzlichen Dank vorab für eure Mühe und viele Grüße
Haze