Hallo,
ich habe eine Exeldatei mit vielen Tabellen. Ich würde gern über eine ListBox mit allen Tabellennamen befüllen.
Über die Textbox ein können dann Zahlen und Buchstaben eigegeben werden, woraus sich die Listbox nur die Tabellenblätter Filtert welche diese Zahlen + Buchstaben enthalten.
Leider komme ich bei der Textbox mit der Suche nicht weiter.Die Listbox zu befüllen habe ich geschafft.
Hätte jemand eine Idee?
Option Explicit
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
'Ausgewähltes Tabellenblatt aktivieren
worksheets(ListBox1.List(ListBox1.ListIndex)).Activate
'Userform schließen
Unload Me
End Sub
Private Sub TextBox1_Change()
Dim ws As Worksheet
'Listbox leeren
Me.ListBox1.Clear
'Schleife über alle Tabellenblätter
For Each ws In worksheets
If InStr(ws, LCase(ListBox1.ListCount), LCase(Me.TextBox1.Value)) <> 0 Then
End If
Next
'
'Tabellenblatt ListBox hinzufügen
ListBox1.AddItem ws.Name
'Prüfen, ob Tabellenblatt das aktive Tabellenblatt ist
If ws.Name = ActiveSheet.Name Then ListBox1.ListIndex = ListBox1.ListCount - 1
Next ws
End Sub
Private Sub UserForm_Initialize()
'Variable dimensionieren
Dim ws As Worksheet
'Schleife über alle Tabellenblätter
For Each ws In worksheets
'Tabellenblatt ListBox hinzufügen
ListBox1.AddItem ws.Name
'Prüfen, ob Tabellenblatt das aktive Tabellenblatt ist
If ws.Name = ActiveSheet.Name Then ListBox1.ListIndex = ListBox1.ListCount - 1
Next ws
End Sub
|