Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1460to1464
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
Listbox über Textbox-Suche füllen
25.11.2015 12:17:32
Markus
Hallo zusammen,
ich brauche wieder einmal Hilfe!
In folgendem Makro wird der Wert der TextBox in den Spalten A bis S gesucht und
ab dem gefundenen Wert ausgegeben!
Ich möchte aber das er mir die gefunden Werte aus jeder Zeile immer ab der 1. Spalte ausgibt. (Sprich, alle Treffer ab Spalte A anzeigt!)
Wie müßte das denn aussehen?
Danke Gruß Markus
Private Sub CommandButton5_Click()
Dim rngCell As Range
Dim strFirstAddress As String
With Worksheets("Zuordnung").Range("A:S")
Me.ListBox1.Clear
Set rngCell = .Find(Me.TextBox1.Value, LookIn:=xlValues, lookat:=xlWhole)
If Not rngCell Is Nothing Then
strFirstAddress = rngCell.Address
Do
With Me.ListBox1
.ColumnCount = 4
.AddItem
.List(.ListCount - 1, 0) = rngCell.Value
.List(.ListCount - 1, 1) = rngCell.Offset(0, 1).Value
.List(.ListCount - 1, 2) = rngCell.Offset(0, 2).Value
.List(.ListCount - 1, 3) = rngCell.Offset(0, 3).Value
.List(.ListCount - 1, 4) = rngCell.Offset(0, 4).Value
.List(.ListCount - 1, 5) = rngCell.Offset(0, 5).Value
.ColumnWidths = "3cm;3cm;5,5cm;5,5cm;3cm;3cm"
End With
Set rngCell = .FindNext(rngCell)
Loop While Not rngCell Is Nothing And rngCell.Address  strFirstAddress
Else
MsgBox "Suchvorgabe nicht gefunden", 48
End If
End With
End Sub

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Listbox über Textbox-Suche füllen
25.11.2015 12:26:31
Rudi
Hallo,
eine Möglichkeit:
Private Sub CommandButton5_Click()
Dim rngCell As Range, rngCellA As Range
Dim strFirstAddress As String
With ListBox1
.Clear
.ColumnCount = 4
.ColumnWidths = "3cm;3cm;5,5cm;5,5cm;3cm;3cm"
End With
With Worksheets("Zuordnung").Range("A:S")
Set rngCell = .Find(Me.TextBox1.Value, LookIn:=xlValues, lookat:=xlWhole)
If Not rngCell Is Nothing Then
strFirstAddress = rngCell.Address
Do
Set rngCellA = .Cells(rngCell.Row, 1)
With Me.ListBox1
.AddItem
.List(.ListCount - 1, 0) = rngCellA.Value
.List(.ListCount - 1, 1) = rngCellA.Offset(0, 1).Value
.List(.ListCount - 1, 2) = rngCellA.Offset(0, 2).Value
.List(.ListCount - 1, 3) = rngCellA.Offset(0, 3).Value
.List(.ListCount - 1, 4) = rngCellA.Offset(0, 4).Value
.List(.ListCount - 1, 5) = rngCellA.Offset(0, 5).Value
End With
Set rngCell = .FindNext(rngCell)
Loop While Not rngCell Is Nothing And rngCell.Address  strFirstAddress
Else
MsgBox "Suchvorgabe nicht gefunden", 48
End If
End With
End Sub
Gruß
Rudi

Anzeige
AW: Listbox über Textbox-Suche füllen
25.11.2015 14:12:59
Markus
Hallo Rudi,
danke für die schnelle Hilfe.
Mich stört nur noch das "*" nach der Eingabe des Suchbegriffs.
Hast du dafür auch noch eine Lösung?
Danke Gruß Markus

welches * ? owT
25.11.2015 14:56:13
Rudi

AW: welches * ? owT
25.11.2015 16:58:57
Markus
Hallo Rudi,
ich muß in der TextBox immer ein * hinter den Wert schreiben, damit ich
nicht nur genaue sondern auch Zeilen angezeigt bekomme worin der Wert vorkommt.
Das hängt glaube ich mit dieser Zeile zusammen:
Set rngCell = .Find(Me.TextBox1.Value, LookIn:=xlValues, lookat:=xlWhole)
Im Test ist mir aufgefallen, dass es auch doppelte Zeilen gibt, kann man das
ausschließen? Und wenn ja wie?
Danke für deine Mühe.
Gruß Markus

Anzeige
AW: welches * ? owT
26.11.2015 03:09:15
Werner
Hallo Markus,
dann so:
Set rngCell = .Find(Me.TextBox1.Value & "*", LookIn:=xlValues, lookat:=xlWhole)
Gruß Werner

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige