Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
160to164
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
160to164
160to164
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Eingabe Suchen und in ListBox ausgeben - Teil 2

Eingabe Suchen und in ListBox ausgeben - Teil 2
17.09.2002 19:48:52
Ralf K.
Hallo! Und ich schon wieder!

Habe gestern mit "Hajo_Zi´s" grandioser Hilfe eine Wunderbare Suchfunktion zum laufen bekommen.

Diese Suche findet über eine UserForm statt und die Ausgabe der
gefundenen Einträge erfolgt in einer ListBox, 2 spaltig!

Frage: Wie kann ich mir jetzt wenn ich einen der Einträge in der ListBox markiere mir andere Teile der betreffenden Zeile in einer Textbox ausgeben lassen (Auch wieder direkt in der UserForm)!
Müsste ja eigentlich über "Private Sub ListBox1_Change()" laufen, oder?

In etwa so??
Private Sub ListBox1_Change()
TextBox.Text = Cells(ListBox1.ListIndex + 1, 2)
End Sub

Hier zeigt er mir aber natürlich den Eintrag "Zeile "1" von Spalte "2"

Anbei der bisherige Code:

######################################################
Private Sub CommandButton1_Click()
Dim s As String
Dim Found As Range
Dim FirstAddress As String
Dim I As Integer ' Zeile
I = 0

If txtSuche.Text = "" Then
MsgBox "Kein Eintrag vorhanden!", vbCritical, "Was soll ich den suchen?"
txtSuche.SetFocus
Else
End If

's = InputBox("Was suchst du ?", , ActiveCell.Value)
Eingabe = txtSuche.Text
If Eingabe = "" Then Exit Sub
With ActiveSheet
Set Found = .Cells.Find(Eingabe, LookAt:=xlPart)
If Not Found Is Nothing Then
FirstAddress = Found.Address
ListBox1.Clear
ListBox1.ColumnCount = 2
ListBox1.AddItem Found
ListBox1.list(I, 1) = Cells(Found.Row, 13)
I = I + 1
Do
Found.Activate
Set Found = Cells.FindNext(After:=ActiveCell)
On Error Resume Next
If Found.Address = FirstAddress Then Exit Do
ListBox1.AddItem Found
ListBox1.list(I, 1) = Cells(Found.Row, 13)
I = I + 1
Loop
End If
End With
End sub
##################################################

Schon einmal vielen Dank!
Gruss Ralf K.

P.s. Eine andere Frage am Rande: Wie bekommt Du "Hajo_Zi" diese
wunderbar formatierten Code Beispiele im Forum hin?
Bei mir sind die immer nur Platt nach links eingerückt und
die sehen dann natürlich für einen anderen völlig unübersichtlich aus!

Auch hierfür schon einmal vielen Dank!


4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Eingabe Suchen und in ListBox ausgeben - Teil 2
17.09.2002 19:56:56
Hajo_Zi
Hallo Ralf

zu Code sie Features
Das hättest Du doch gestern gleich schreiben sollen das das Problem noch nicht beendet ist dann hätte ich die Datei aufgehoben.

Ich würde folgende verfahrensweise vorschlagen ordne ein zusätzliche Listbox an die visible =false in dieser schreibts Du gleich beim suchen die Zeilen Numer für jeden Datensatz.

Über Listbox1.ListIndex bekommst Du dann die entsprechende Zeile raus.

Gruß Hajo

Re: Eingabe Suchen und in ListBox ausgeben - Teil 2
17.09.2002 21:28:17
Ralf K.
Tja irgendwie will es net so richtig!

Also den habe ich Code geändert wie folgt(Siehe ListBox2), aber er zeigt mir auschließlich nach Erfolgter suche nur die letzte gefundene Zeile an!
Auch ist mir irgendwie schleierhaft wie ich dann, wenn die ListBox2 nicht Sichtbar ist, wie ich einen Bezug zu Listbox1
hinbekomme???
D.h. woher weiß die eine ListBox von der anderen Listbox, welcher Eintrag jetzt angewählt wurde???


~beginn~
Private Sub CommandButton1_Click()
Dim s As String
Dim Found As Range
Dim FirstAddress As String
Dim I As Integer ' Zeile
Dim J As Integer ' Spalte
I = 0
J = 1
If txtSuche.Text = "" Then
MsgBox "Kein Eintrag vorhanden!", vbCritical, "Was soll ich den suchen?"
txtSuche.SetFocus
Else
End If

Eingabe = txtSuche.Text
If Eingabe = "" Then Exit Sub
With ActiveSheet
Set Found = .Cells.Find(Eingabe, LookAt:=xlPart)
If Not Found Is Nothing Then
FirstAddress = Found.Address
ListBox1.Clear
ListBox1.ColumnCount = 2
ListBox1.AddItem Found
ListBox1.List(I, J) = Cells(Found.Row, 13)

ListBox2.Clear
ListBox2.AddItem Found.Address(False, False)
ListBox2.List(I, J) = Found.Address(False, False)
I = I + 1
Do
Found.Activate
Set Found = Cells.FindNext(After:=ActiveCell)
On Error Resume Next
If Found.Address = FirstAddress Then Exit Do
ListBox1.AddItem Found
ListBox1.List(I, J) = Cells(Found.Row, 13)

ListBox2.Clear
ListBox2.AddItem Found.Address(False, False)
ListBox2.List(I, J) = Found.Address(False, False)
I = I + 1
Loop
End If
End With
~end~

Danke vorab Ralf K.

Anzeige
Re: Eingabe Suchen und in ListBox ausgeben - Teil 2
17.09.2002 21:41:25
Hajo_Zi
Hallo Ralf

zu beginn des Code beginn nur mit einem n

Gruß Hajo

Re: Eingabe Suchen und in ListBox ausgeben - Teil 2
17.09.2002 23:41:51
Ralf K.
Danke Hajo_Zi!
Funzt einfach Super!
Wieso schwierig wenn es auch einfach geht!?!

Ok anbei mein kompl. Code mit kleinen Erläuterungen
für diejenigen die es intressiert!

Aufbau: (UserForm)
- 2 CommandButton (ComandButton1/CmdAbbruch)
- 6 TextBoxen (txtAngebotNr/txtDatum/txtKunde/ect..)
- 2 Listboxen (ListBox1/ListBox2)


Vielen Dank!

...Fortsetzung folgt...

Gruss Ralf K.

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige