Jörg Lorenz: Excel/VBA: Find ja, FindNext nein

Beitrag lesen

Hallo nochmal,

A X
B Y
C Z
C 1    C <Zielzelle>
C 2
C 3
D
E
F

In der Zielzelle soll eine Funktion aufgerufen werden, die das erste Vorkommen (von in diesem Fall C) sucht, das letzte Vorkommen sucht, die Spalte daneben anspringt, aus den Zeilen "Z, 1, 2, 3" macht und das Ergebnis in sich selbst reinschreibt. Irgendwie so.

das könnte das Grundgerüst sein:

Dim objGefunden As Object
Dim strErsteZelle As String, strAdresse As String
Dim strWas As String
Dim strTemp As String

strWas = Range("C1")
strTemp = ""

Set objGefunden = Range("A1:A20").Find(strWas, lookat:=xlWhole)
If Not objGefunden Is Nothing Then
    strTemp = Cells(objGefunden.Row, 2)
    strErsteZelle = objGefunden.Address(False, False)
    strAdresse = objGefunden.Address(False, False)
End If
Do While Not objGefunden Is Nothing
    Set objGefunden = Range("A1:A20").Find(strWas, after:=Range(strAdresse), lookat:=xlWhole)
    strAdresse = objGefunden.Address(False, False)
    If strAdresse = strErsteZelle Then Exit Do
    strTemp = strTemp & ", " & Cells(objGefunden.Row, 2)
Loop
Set objGefunden = Nothing
MsgBox strTemp

Noch ein paar Fehlerbehandlungen rein, festlegen, wo es hingeschrieben und wann es aufgerufen werden soll und das war's …

Viele Grüße

Jörg