bin schon seit 2 Wochen auf der Suche nach einem geeigneten Makro, dass ich mir eigentich selbst für meine Zwecke umsrticken wollte. Leider hat das nicht geklappt.
Folgendes habe ich vor bzw. habe ich zum Teil
UserForm mit einer Textbox1, 1 Command button, und einer Listbox.
Nn der Textbox möchte ich den Suchbegriff eingeben. Dieser soll in Spalte B gesucht werden.
Alle Treffer sollen nun in der Listbox aufgelistet werden sowie die zugehörigen Werte aus z.B. Spalte D, G und H.
Kann mich bitte jemdand hierbei unterstützen.
Nachfolgend mal mein bisheriger Code, der allerdings nicht richtig funktioniert. Wenn ich den Suchbegriff konkretisiere zeigt mir Excel keine Werte an.
Auf jeden Fall komme ich jetzt gar nicht mehr klar. Vielleicht entdeckt jemand den Fehler in dem Code oder kann mir evtl. einen neuen fehlerfreien Code mit auf den Weg geben.
An der Stelle schon mal Danke!
Beispiel:
Suchbegriff: GJZ250
Listbox:-------------------Wert1--Wert2--Wert3
GJZ25066 -------------------8------7------- 3
GJZ25070-------------------12-----55------- 44
Soweit so gut
Wenn ich den Suchbegriff nun genauer bestimme zeigt mir Excel keinen Wert mehr an
Beispiel:
Suchbegriff: GJZ25066
Listbox:-------------------Wert1--Wert2--Wert3
GJZ25066 ----------------------------------------
Gruß
Peter
Private Sub CommandButton1_Click() 'Anpassen
'Button Suchen
Dim s As String
Dim Found As Range
Dim FirstAddress As String
Dim I As Integer ' Zeile
I = 0
s = Trim(TextBox1.Text) 'Sucheingabe über Textbox1 steuern
If s = "" Then Exit Sub
ListBox1.Clear
With ActiveSheet
Set Found = .Cells.Find(what:=s, LookAt:=xlPart)
If Not Found Is Nothing Then
FirstAddress = Found.Address
ListBox1.ColumnCount = 10 'Gibt die Werte der gefundenen Treffer an (Spaltenbezogen)
ListBox1.AddItem Found 'fügt ersten Treffer hinzu
' ListBox1.List(I, 1) = Cells(Found.Row, 3)
' 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, 4)
ListBox1.List(I, 2) = Cells(Found.Row, 6)
ListBox1.List(I, 3) = Cells(Found.Row, 7)
ListBox1.List(I, 4) = Cells(Found.Row, 8)
ListBox1.List(I, 5) = Cells(Found.Row, 9)
I = I + 1
Loop
End If
End With
End Sub