Überlegt mal ob in Eurer Logik hinsichtlich der Wissenverbreiterung nicht ein Fehler drin ist. Meine "Spende" geht bereits an eine Person, welche mir bei meinem Problem hilft. Die Lösung hätte / würde ich auch kostenlos posten. Sonstige Spenden gehen an ganz andere Vereine und nicht Foren, bei welchen sich die Gäste - wie es hier den Eindruck macht - nur aufspielen und keinen konstruktiven Beitrag zur Problemlösung beitragen.
Wenn du dich an ein Foum für Hilfe wendest, musst du auch die Regeln akzeptieren - Punkt. Crossposting (ohne Hinweis darauf) ist mittlerweile seit Jahren verpönt, zumal es über die vergangenen Jahre spürbar zugenommen hat. Dein Verhalten ist ein Musterbeispiel. Anstatt in einem Forum, wo bereits mehrer Leute dir AUFMERKSAMKEIT schenken zu bleiben, geht du lieber in anderen Gewässern fischen - das ist undankbar! Ich hoffe du verstehst das.. schluck es am besten einfach runter und mach es das nächste mal besser, anstatt hier wildfremder, freiwillige Helfer anzugreifen.
Zu deinem Problem:
Option Explicit
Sub Test()
Dim i As Long
For i = 2 To 6
Cells(i, "C") = GetFinalID(Cells(i, "A"), Range("B2:B6"))
Next
End Sub
Function GetFinalID(ByVal ID As Excel.Range, ByVal Column As Excel.Range) As Variant
If Not Intersect(ID, Column) Is Nothing _
Then Exit Function
Dim ID2 As Excel.Range
Set ID2 = Column.Find(ID, , xlValues, xlWhole, xlByColumns)
If ID2 Is Nothing Then
Set GetFinalID = ID
Else
Set GetFinalID = GetFinalID(ID2.Worksheet.Cells(ID2.Row, ID.Column), Column)
End If
End Function
Grüße
Trägheit
|