Die Tabelle zeigt in den Spalten E bis G die Abteilungsverantwortlichen für ein fiktives Unternehmen.
Formel1: Gesucht wird nach dem Vornamen "Toni". Optionaler Parameter für Duplikate steht auf "FALSCH". Es werden alle Treffer aus Spalte 2 der Matrix gelistet.
Formel2: Gesucht wird nach dem Vornamen "Toni". Optionaler Parameter für Duplikate steht auf "WAHR" und bei optionalem Parameter für Trennzeichen wurde der Schrägstrich gewählt. Es werden keine Duplikate gelistet.
Formel3: Gesucht wird nach "Toni". Es wurden keine der optionalen Parameter übergeben.
Formel4: Ein Beispiel für die Suche nach Links. Suchspalte ist 2 innerhalb der Matrix also in unserem Beispiel der Nachname. Ergebnisspalte ist 1 also der Vorname.
Damit die Formel genutzt werden kann, muss der unten genannte Code in ein "
Allgemeines Modul". ( Siehe auch
UDF - Funktionen
-> * Allgemeines Modul - Kurzanleitung * )
Der Code für ein allgemeines Modul:
Public Function SVERWEIS2(Kriterium As String, _
Bereich As Range, _
SuchSpalte As Integer, _
ErgebnisSpalte As Integer, _
Optional Unikate As Boolean = True, _
Optional Trenner As String = ", ") As String
'***********************************************
'Autor: Ransi
'***********************************************
Dim arrTmp
Dim L As Long
Dim Mydic As Object
arrTmp = Bereich
Set Mydic = CreateObject("Scripting.Dictionary")
If Unikate = True Then
For L = 1 To UBound(arrTmp)
If arrTmp(L, SuchSpalte) = Kriterium Then Mydic(arrTmp(L, ErgebnisSpalte)) = 0
Next
SVERWEIS2 = Join(Mydic.keys, Trenner)
Else:
For L = 1 To UBound(arrTmp)
If arrTmp(L, SuchSpalte) = Kriterium Then Mydic(L) = arrTmp(L, ErgebnisSpalte)
Next
SVERWEIS2 = Join(Mydic.items, Trenner)
End If
End Function