ich verwende die Find Methode innerhalb einer Funktion, um mir VLookUp zu ersparen.
Denn VLookUp gibt
1. einen Laufzeitfehler falls es nichts findet
2. Wenn es etwas findet, dann kann ich nur die Spalten rechts davon lesen
Folgenden Code nutze ich hierbei:
(Error Handler ist eine extra Funktion)
Function LookUpSpecial(strSearch As String, rngMatrix As Range, intColOffset As Integer, _
Optional intRowOffset = 0, Optional bolWhole As Boolean = False) As _
String
425 On Error GoTo SthWrong
Dim c As Range
426 If bolWhole Then
427 Set c = rngMatrix.Find(strSearch, , xlValues, xlWhole)
428 Else
429 Set c = rngMatrix.Find(strSearch, , xlValues, xlPart)
430 End If
431 If c Is Nothing Then
432 LookUpSpecial = ""
433 Else
434 LookUpSpecial = c.Offset(intRowOffset, intColOffset)
435 End If
436 Exit Function
437 SthWrong:
438 ErrLog "modFunctions", "LookUpSpecial", Err.Description, Err.Number, Err.Source, Erl
End Function
Jedoch gibt es jetzt einen Fall in dem die Find Methode nichts findet, obwohl eine Uebereinstimmung existiert.
Vielleicht hat jemand von Euch Erfahrung, was hier falsch laufen koennte.