ich hab mir ne Suchfunktion aus dem Forum geschnappt und für mich angepasst.
Einen Schönheitsfehler hat sie noch:
Wenn der Suchbegriff in einer Zeile zweimal auftaucht, wird dieser auch zweimal ausgegeben.
Ich will, dass das Makro dann in die nächste Zeile springt, sobald er in der Zeile was gefunden hat.
Hier ein Ausschnitt meines Codes:
Set wb = ThisWorkbook
Suchwert = InputBox("Suchbegriff eingeben")
If Suchwert = "" Then Exit Sub
UserForm1.ListBox1.Clear 'Liste löschen, falls nicht leer
Application.ScreenUpdating = False
Sheets("Strom").Select
Set ws = Sheets("Strom")
Set Fundortneu = ws.UsedRange.Find(Suchwert, , , xlPart)
If Not Fundortneu Is Nothing Then 'erster Eintrag gefunden
TrageInListeEin "FDH-Nr", "Lieg_Bezeichnung", "Geb_Bezeichnung"
fdh_nr = Range(Fundortneu.Offset(, 2 - Fundortneu.Column).Address()).Value
lieg_bez = Range(Fundortneu.Offset(, 8 - Fundortneu.Column).Address()).Value
geb_bez = Range(Fundortneu.Offset(, 15 - Fundortneu.Column).Address()).Value
TrageInListeEin fdh_nr, lieg_bez, geb_bez 'eintragen
Set Fundortalt = Fundortneu 'ersten gefundenen Eintrag merken
Do 'weitersuchen
Set Fundortneu = ws.UsedRange.FindNext(Fundortneu)
If Fundortalt.Address = Fundortneu.Address Then Exit Do 'bis der erste Eintrag wieder gefunden wird
fdh_nr = Range(Fundortneu.Offset(, 2 - Fundortneu.Column).Address()).Value
lieg_bez = Range(Fundortneu.Offset(, 8 - Fundortneu.Column).Address()).Value
geb_bez = Range(Fundortneu.Offset(, 15 - Fundortneu.Column).Address()).Value
TrageInListeEin fdh_nr, lieg_bez, geb_bez ' eintragen
End If
Loop
End If
Ich probier da schon länger rum, komm aber nicht auf das gewünscht Ergebnis.
Gruss
Joachim