Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
788to792
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
788to792
788to792
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

ein Suchbegriff->alle gefundenen Zeilen in Listbox

ein Suchbegriff->alle gefundenen Zeilen in Listbox
03.08.2006 14:52:09
lowera6
Hallo,alle Zusammen.
Habe folgende Anweisung zum suchen in einer Exceltabelle nach öffnen einer Userform:
Textbox zum Eingeben eines Suchbegriffes, z.B. "TCB".
Nach klick auf CommandButton2 erfolgt das suchen des Begriffes in der 3.Spalte des Tabellenblattes(sind mehrer hundert Zeilen). Sobald er das erste mal den Begriff gefunden hat, schreibt er den Inhalt der Spalte 2 und 3 aus der gefundenen Zeile komplett in die Listbox. Alles bestens. Falls es aber mehrer Einträge "TCB" gibt, soll er alle Zeilen in die Listbox eintragen.
Das ist mein Problem. Wie muss ich den Code abändern.
Hier das Makro:

Private Sub CommandButton2_Click()
Dim Suchbegriff As Variant
Dim c As Range
Suchbegriff = TextBox1.Text
Set c = Columns(3).Find(Suchbegriff)
If Not c Is Nothing Then
ListBox1.RowSource = Range(Cells(c.Row, 2), Cells(c.Row, 3)).Address
Else
MsgBox Suchbegriff & " wurde nicht gefunden!"
End If
End Sub

Gruß Mario

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ein Suchbegriff->alle gefundenen Zeilen in Listbox
03.08.2006 15:01:22
Bertram
Hi Mario,
schau dir mal die FindNext-Methode an. Da ist auch ein gutes Bsp. dabei.
Gruß
Bertram
AW: ein Suchbegriff->alle gefundenen Zeilen in Listbox
03.08.2006 15:29:20
lowera6
Hallo und danke für Deine schnelle Antwort.
Nur leider kann ich nicht wirklich etwas damit anfangen, da ich nicht weis wie und wo ich die FindNext einfügen soll. Hab mit dem Beispiel in der Excel-VBA-Hilfe ein bißchen gespielt.... leider ohne Erfolg!
Werde weiter suchen und VERsuchen, vielleicht gibt es ja noch jemand der etwas zum Thema weiß.
Danke und Gruß
Mario
AW: ein Suchbegriff->alle gefundenen Zeilen in Listbox
03.08.2006 15:37:28
Eule
Hi lowera6
hab hier in der Datei ein kleines Beispiel gebastelt. Musst nur etwas anpassen.
Vorteil dieser kleinen Routine: wenn man auf ein gefundenes Wort (in Auflistung) klickt, wird automatisch auf die Stelle in der Liste gesprungen
Sonst noch Fragen? Rückmeldung wäre nett
Gruss Eule
https://www.herber.de/bbs/user/35549.xls
Anzeige
AW: ein Suchbegriff->alle gefundenen Zeilen in Listbox
04.08.2006 07:29:31
lowera6
Hallo alle zusammen
Ich kam gestern leider nicht meht dazu weiter zu probieren, habe dies heute Morgen gemacht und muss sagen: ES HAT GEKLAPPT.
Mit Eurer Hilfe konnte ich mein Problem lösen.
Vielen Dank dafür und bis demnächst
Gruß Mario
AW: ein Suchbegriff->alle gefundenen Zeilen in Listbox
03.08.2006 15:45:33
Bertram
Hi Mario,
hier ein Bsp.:

Private Sub CommandButton2_Click()
Dim Suchbegriff As Variant
Dim c As Range
Dim i As Long
Dim firstaddress As String
Dim Matrix() As String
ReDim Matrix(2, 200)
Suchbegriff = TextBox1.Value
Set c = Columns(3).Find(Suchbegriff)
On Error GoTo Fehler
firstaddress = c.Address
Matrix(0, i) = c.Offset(0, -1).Value
Matrix(1, i) = c.Value
i = i + 1
Do
Set c = Columns(3).FindNext(After:=c)
If c.Address = firstaddress Then Exit Do
Matrix(0, i) = c.Offset(0, -1).Value
Matrix(1, i) = c.Value
i = i + 1
Loop
ReDim Preserve Matrix(2, i)
ListBox1.Column = Matrix
Exit Sub
Fehler:
MsgBox ("Nicht gefunden")
End Sub

Gruß
Bertram
Anzeige
AW: ein Suchbegriff->alle gefundenen Zeilen in Listbox
03.08.2006 15:42:45
Peter
Hallo Mario,
so könnte es gehen:

Private Sub CommandButton2_Click()
Dim Suchbegriff  As Variant
Dim Zelle        As Range
Dim FundAdr      As String
Dim iLiBox       As Integer
Suchbegriff = TextBox1.Text
Set Zelle = Columns(3).Find(Suchbegriff)
If Not Zelle Is Nothing Then
FundAdr = Zelle.Address
Do
ListBox1.AddItem " "
ListBox1.List(iLiBox, 0) = Cells(Zelle.Row, 2)
ListBox1.List(iLiBox, 1) = Cells(Zelle.Row, 3)
iLiBox = iLiBox + 1
Set Zelle = Range("C:C").FindNext(Zelle)
Loop While Not Zelle Is Nothing And Zelle.Address <> FundAdr
Else
MsgBox Suchbegriff & " wurde nicht gefunden!", _
64, "    Begriff ist nicht vorhanden."
End If
End Sub

Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige