Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1904to1908
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Über Textbox in Listbox nach Tabel

Über Textbox in Listbox nach Tabel
12.11.2022 15:28:03
Marcus
Hallo,
ich habe eine Exeldatei mit vielen Tabellen. Ich würde gern über eine ListBox,diese allen Tabellennamen befüllen.
Über die Textbox 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(1, ws.ListBox1.Value, Me.TextBox1.Value, compare:=vbTextCompare)  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

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
is nich so dolle im vba-Forum, oder? owt
12.11.2022 15:50:07
ralf_b
AW: is nich so dolle im vba-Forum, oder? owt
12.11.2022 16:04:37
Marcus
Ich komme leider nicht weiter und versuche es eben nicht nur in einem Forum.
Mir hat sich das ganze mit dem If und Instr. leider noch nicht erschlossen. Da hilft es auch nicht immer wieder die gleichen Tipps oder Seiten zu lesen.
AW: is nich so dolle im vba-Forum, oder? owt
12.11.2022 16:33:41
Oberschlumpf
aber für deine (zukünftigen) Helfer kann es sehr hilfreich sein, wenn du - in jedem Forum - in dem du relativ zeitgleich die selbe Frage stellst, jeweils 1 Link zu dem Forum zeigst, in dem du zusätzlich fragst.
ich will sagen:
Wenn du, außer hier, z Bsp noch in 2 weiteren Foren diese Frage gestellt hast, dann zeig uns bitte 2 Links zu deiner Frage in den anderen Foren.
Umgekehrt: In jedem anderen Forum zeigst du mitunter einen Link zu diesem Forum
is doch doof, wenn mehrere Leute "für dich arbeiten" und keiner weiß vom anderen, oder?
Anzeige
 
13.11.2022 02:32:54
 
 
AW: Über Textbox in Listbox nach Tabel
13.11.2022 12:55:40
snb
Verwende .List zum Befüllen einer ListBox/ComboBox

Private Sub UserForm_Initialize()
For Each it In Sheets
c00 = c00 & Chr(0) & it,name
Next
listbox1.List = Split(Mid(c00, 2), Chr(0))
listbox1 = ActiveSheet.Name
End Sub

AW: Über Textbox in Listbox nach Tabel
13.11.2022 13:01:17
snb
Verwende:

Dim sn
Private Sub UserForm_Initialize()
For Each its In Sheets
c00 = c00 & Chr(0) & itname
Next
sn = Split(Mid(c00, 2), Chr(0))
Listbox1.List = sn
Listbox1 = ActiveSheet.Name
End Sub
Private Sub TextBox1_Change()
sp = Filter(sn, Textbox1)
If UBound(sp) > -1 Then Listbox1.List = sp
End If

Anzeige
AW: Über Textbox in Listbox nach Tabel
13.11.2022 13:41:02
GerdL
Servus

Option Explicit
Private Sub TextBox1_Change()
Dim it As Object, c00 As String
For Each it In Sheets
If it.Name Like "*" & TextBox1 & "*" Then c00 = c00 & Chr(0) & it.Name
Next it
ListBox1.Clear
ListBox1.List = Split(Mid(c00, 2), Chr(0))
End Sub
Private Sub UserForm_Initialize()
Dim it As Object, c00 As String
For Each it In Sheets
c00 = c00 & Chr(0) & it.Name
Next it
With ListBox1
.Clear
.ColumnCount = 1
.List = Split(Mid(c00, 2), Chr(0))
.Value = ActiveSheet.Name
End With
End Sub
Gruß Gerd

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige