da ich in der VBA/Makro-Thematik neu unterwegs bin, hätte ich eine Frage an die Experten. :)
Folgende Ausgangssituations:
Ich habe eine Art Sverweis-Funktion gebraucht, welche mehrere Treffer ausgibt. Es können mehrere Zeilen das Suchkriterium enthalten und es soll dann ein anderer Wert in der Zeile ausgegeben werden.
Da meine VBA-Programmierkenntnisse leider nicht soweit ausreichen, habe ich mich auf die Suche im Internet begeben und folgendes gefunden.
_______________________________________________________
Public Function SVERWEIS2(Kriterium As String, Bereich As Range, SuchSpalte As Integer, _
ErgebnissSpalte As Integer, welcher_wert As Long) As String
Application.Volatile
Dim arrTmp
Dim arr()
Dim L As Long
Dim z
z = 1
arrTmp = Bereich
For L = 1 To UBound(arrTmp)
If arrTmp(L, SuchSpalte) = Kriterium Then
ReDim Preserve arr(z)
arr(z) = arrTmp(L, ErgebnissSpalte)
z = z + 1
End If
Next
SVERWEIS2 = arr(welcher_wert)
End Function
__________________________________________________
Diese Funktion funktioniert hervoragend. Jedoch gibt es noch ein Problem, welches es zu lösen gilt.
Es kann vorkommen, dass mehrere Werte in einer Zelle vorhanden sind und dann das Suchkriterium nicht gefunden wird und folglich auch kein Wert ausgegeben.
Bsp: Suchkriterium = "X" / Zelle in Suchspalte enthält "Y";"X";"Z"
Gibt es eine Möglichkeit eine "ungefähre Suche" in diese Funktion einzubauen, sodass mein Suchkriterium gefunden wird?
Wäre super, wenn mir jemand helfen könnte.
Gruß