Hallo Jana,
sorry, bin heute nciht ganz ausgeschlafen.
Du müsstest den Code für das Click Ereignis der Listbox so ändern:
Code:
Private Sub ListBox1_Click()
Dim x
x = Application.Match(ListBox1, ActiveSheet.ListObjects("DB_1").ListColumns(ComboBox_Suchauswahl.Text).Range, 0)
If IsNumeric(x) Then TextBox_Ergebnis_Ort.Text = Cells(x, 1).Value
End Sub
:97: :97: :97:
Wunderbar, genau so - S U P E R
Danke
Hallo jana,
du könntest noch einmal den gesamten Code mit folgendem ersetzen:
Code:
Private Sub ComboBox_Suchauswahl_Change()
TextBox_Ergebnis_Ort.Text = ""
If Len(TextBox1.Text) Then
ListBox1.List = Filter(Application.Transpose(ActiveSheet.ListObjects("DB_1").ListColumns(ComboBox_Suchauswahl.Text).DataBodyRange.Cells), TextBox1, , vbTextCompare)
End If
End Sub
Private Sub ListBox1_Click()
Dim x
x = Application.Match(ListBox1, ActiveSheet.ListObjects("DB_1").ListColumns(ComboBox_Suchauswahl.Text).Range, 0)
If IsNumeric(x) Then TextBox_Ergebnis_Ort.Text = Cells(x, 1).Value
End Sub
Private Sub TextBox1_Change()
TextBox_Ergebnis_Ort.Text = ""
ListBox1.ListIndex = -1
If Len(TextBox1.Text) Then
ListBox1.List = Filter(Application.Transpose(ActiveSheet.ListObjects("DB_1").ListColumns(ComboBox_Suchauswahl.Text).DataBodyRange.Cells), TextBox1, , vbTextCompare)
Else
ListBox1.Clear
End If
End Sub
Private Sub UserForm_Initialize()
With ComboBox_Suchauswahl
.AddItem "Info"
.AddItem "Katalog"
End With
End Sub
So werden die Überschriften nicht mit berücksichtigt und die Groß und Kleinschreibung wird nicht beachtet.
Ich weiß, ich bin der Meckerer …
@Jana:
Den .DataBodyRange eines ListObject gleich mal auf 2^20 (-1) Zeilen vorzuhalten, zeigt mir, dass Du die Möglichkeiten diese Objektes nicht kennst.
Das macht prinzipiell nicht viel (bis auf Speicherplatz und Rechendauer), sollte Dir aber Anlass sein, dieses ganz spezielle Objekt mit seinen Eigenschaften und Methoden mal näher kennen zu lernen.
Einen sehr guten Einstieg findest Du hier:
https://www.thespreadsheetguru.com/blog/...cel-tables
Gruß Ralf
Ich werde versuchen mich einzulesen.