Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1332to1336
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

Suchergebnisse in Listbox

Suchergebnisse in Listbox
03.10.2013 13:34:22
Timo
Hallo zusammen und einen schönen Feiertag :)
Ich brauche wieder mal Eure Hilfe.
Mit folgendem VBA-Code durchsuche ich in einer Tabelle die Spalte "A" (beginnend ab "A10") nach einem Begriff. Die Fundstellen werden dann in einer Listbox ausgegeben.
Sub Suchen()
Dim lng As Long
Dim i As Integer
i = 0
For lng = 10 To ThisWorkbook.Worksheets("Datenbank").UsedRange.Rows.Count + 1
If InStr(LCase(ThisWorkbook.Worksheets("Datenbank").Cells(lng, 1).Value), LCase(Suchfeld.Value)) _
> 0 Then
Suchbox.AddItem ThisWorkbook.Worksheets("Datenbank").Cells(lng, 1).Value
Suchbox.Column(1, i) = ThisWorkbook.Worksheets("Datenbank").Cells(lng, 2).Value
Suchbox.Column(2, i) = ThisWorkbook.Worksheets("Datenbank").Cells(lng, 10).Value
Suchbox.Column(3, i) = ThisWorkbook.Worksheets("Datenbank").Cells(lng, 1).Row
i = i + 1
Else
End If
Next lng
Suchfeld.Text = ""
Suchfeld.SetFocus
If Suchbox.ListCount = 0 Then
Call Meldung_Suchbegriff_nicht_gefunden
Suchfeld.SetFocus
End If
End Sub

Nun möchte ich den Code so umstellen, dass er nicht in einer Spalte sucht, sondern in einer Zeile.
Z.B. soll er die Zeile "2" durchsuchen, beginnend ab "C2" bis zur letzten benutzten Spalte und mir dann sämtliche Fundstellen in der Listbox ausgibt.
Außerdem soll dann in Spalte 3 der Listbox ("Suchbox.Column(3, i) =...." - siehe oben) nicht die Zeilennummer, sondern die Spaltennummer der Fundstelle angegeben werden.
Leider bekomme ich das nicht hin. :)
Ich hoffe, ihr könnt mir helfen.
Vielen Dank schon mal im Voraus!
Gruß Timo

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Suchergebnisse in Listbox
04.10.2013 23:33:41
fcs
Hallo Timo,
die Umstellung zur Suche in einer Zeile sieht etwa wie folgt aus.
Für die 2. und 3. Spalte der Listbox musst du noch festlegen , wo der Wert herkommen soll.
mfg
Franz
Sub Suchen()
Dim lngZeile As Long
Dim lngSpalte As Long
Dim i As Integer
i = 0
lngZeile = 2 ' oder Zeile anders festlegen
With ThisWorkbook.Worksheets("Datenbank")
For lngSpalte = 3 To .Cells(lngZeile, .Columns.Count).End(xlToLeft).Column
If InStr(LCase(ThisWorkbook.Worksheets("Datenbank").Cells(lngZeile, lngSpalte).Value), _
LCase(Suchfeld.Value)) > 0 Then
Suchbox.AddItem .Cells(lngSpalte, lngSpalte).Value
Suchbox.Column(1, i) = "?" '.Cells(lng, 2).Value
Suchbox.Column(2, i) = "?" '.Cells(lng, 10).Value
Suchbox.Column(3, i) = lngSpalte
i = i + 1
Else
End If
Next lngSpalte
End With
Suchfeld.Text = ""
Suchfeld.SetFocus
If Suchbox.ListCount = 0 Then
Call Meldung_Suchbegriff_nicht_gefunden
Suchfeld.SetFocus
End If
End Sub

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige