Hallo Jana,
ich habe das Gefühl, dass Du selber mit Deinem Projekt etwas überfordert bist.
Es sieht für mich so aus, als ob Du eine Baustelle anfängst und wenn es dort Probleme gibt, dann machst Du eine neue baustelle auf.
Du kommst schneller zum Ziel, wenn Du beharrlich ein Problem zu Ende führst.
Was ich gemacht habe, habe aus Deinen Beschreibungen und den texten auf der Userform abgeleitet.
Da steht bei der ComboBox_Suchauswahl, dass man zwischen zwei Tabellenblättern wählen können sollte.
Da es aber in Deiner Datei die in der Combobox aufgeführten Tabellen nicht gab, habe ich sie halt eingefügt, um zu sehen, wie und ob der Code funktioniert.
Da das Tabellenblatt
Katalog keine Daten hat, bringt die Suche keine Ergebnisse.
In beiden Tabellenblättern wird in Spalte C die Eingabe gesucht, welche in die neu von mir eingefügte Textbox gemacht wird.
Bei Fund werden alle Fundergebnisse in der darunterliegende Listbox gelistet.
Und wenn man nun in der Listbox auf einen Eintrag klickt, wird aus der Tabelle der wert aus spalte A, an dieser Fundstelle zurückgegeben, und in die unterste Textbox geschrieben.
Das wolltest Du, meiner Meinung nach erreichen.
Wenn nicht, musst Du aussagekräftigere Beispiele bringen und detailt beschreiben, was Du möchtest.
Beim Verstehen Deines Problems sind wir Laien, deswegen musst Du uns da unterstützen.
diese Zeilen:
Code:
Private Sub TextBox1_Change()
If Len(TextBox1.Text) Then
Dim bereich, wert
' Me.ListBox1.Clear
' bereich = Join(Application.Transpose(Sheets(ComboBox_Suchauswahl.Text).Columns("C").Value), "##")
' wert = Filter(Split(bereich, "##"), TextBox1)
ListBox1.List = Filter(Application.Transpose(Sheets(ComboBox_Suchauswahl.Text).Columns("C").Value), TextBox1)
End If
End Sub
können mit diesen ersetzt werden:
Code:
Private Sub TextBox1_Change()
If Len(TextBox1.Text) Then
ListBox1.List = Filter(Application.Transpose(Sheets(ComboBox_Suchauswahl.Text).Columns("C").Value), TextBox1)
End If
End Sub
Warum, kannst Du in Deinem anderen Thema nachlesen. (Danke noch ein mal an Ralf)