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

Anzeige in Listbox erweitern, was muss ich ändern

Anzeige in Listbox erweitern, was muss ich ändern
18.08.2014 10:58:18
Kai
Hallo,
habe hier im Archiv ein gutes Beispiel gefunden, dass ich gesucht habe. Hab es ein bischen angepasst. Wenn ich nun im Textfeld txtSuchen einen Suchbegriff eingebe und suche, wird mir in der Listbox alle Zellen mit Inhalt aufgelistet, die den Suchbegriff beinhalten. Die Listbox ist einspaltig.
Ich würde die Listbox gerne erweitern und nicht nur einspaltig den Inhalt aus der Zelle anzeigen lassen, sondern auch jeweils aus der Tabelle in dem gefundenen DS den Inhalt aus Spalte A und B. In Spalte A und B stehen Namen drin, mit denen ich dann den gesuchten Inhalt eindeutig identifizieren kann. Es bringt mir nichts, wenn ich nur weiss, dass gesuchte Ergebnis befindet sich irgendwo in der Tabelle, sondern ich will auch sehen, in welchem DS.
So ein DS soll in der Listbox dann so aussehen: (Gesucht wurde zB nach "AUFTRAG")
gefundenes Ergebnis______InhaltSpalteA_____InhaltSpalteB_______
AUFTRAGSNUMMER-123456____DAIMLER___________PROJEKT-INHOUSE_____
Dim rngFind As Range, rngFirst As Range
lstFind.Clear
Set rngFind = ActiveSheet.Cells.Find(what:=txtSuchen.Text, lookat:=xlPart, LookIn:=xlValues)
If rngFind Is Nothing Then
Beep
MsgBox "Kein Suchbegriff gefunden!"
Exit Sub
End If
Set rngFirst = rngFind
Do
lstFind.AddItem rngFind
Set rngFind = ActiveSheet.Cells.FindNext(rngFind)
Loop While Not rngFind Is Nothing And rngFind.Address rngFirst.Address
Kann mir da jemand helfen ?
Danke
Kai

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Anzeige in Listbox erweitern, was muss ich ändern
18.08.2014 12:49:32
fcs
Hallo Kai,
solange du max. 10 Spalten in deiner Listbox darstellen willst funktioniert folgende Methode.
  Do
lstFind.AddItem rngFind
With lstFind
.List(.ListCount - 1, 1) = ActiveSheet.Cells(rngFind.Row, 1).Text 'Wert aus Spalte A
.List(.ListCount - 1, 2) = ActiveSheet.Cells(rngFind.Row, 2).Text 'Wert aus Spalte B
End With
Set rngFind = ActiveSheet.Cells.FindNext(rngFind)
Loop While Not rngFind Is Nothing And rngFind.Address  rngFirst.Address

Unter den Eigenschaften der Listbox musst du noch die Eigenschaft "ColumnCount" auf die gewünschte Spaltenzahl ändern und ggf. die Spaltenbreiten unter "ColumnWidth" in der Form 120Pt;100Pt;150Pt anpassen.
In Fällen wie deinem ist es oft nützlich auch die Zeilennummer aus der der Datensatz stammt in einer Spalte der Listbox zu speichern. Dann hat man ggf. die Möglichkeit über den gewählten Listeneintrag auf alle Daten zum zugehörigen Datensatz in der Quelltabelle zugreifen zu können.
Gruß
Franz

Anzeige
Danke Dir, funktioniert super, 10 reicht gut , owT
18.08.2014 14:43:15
kai

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige