VLookup mehrere Spalten

Ich verwende die VLookup-Funktion, mit der mehrere Werte in der Spalte gesucht werden. Das funktioniert sehr gut, nimmt aber viel Zeit in Anspruch, da ich 100.000 Zeilen in der Excel-Tabelle habe.

Gibt es eine Möglichkeit, diesen Code zu beschleunigen?

Der Code sucht grundsätzlich nach einem bestimmten Wert in einer Spalte und erhält den Offset. Der Unterschied zwischen einfachem VLookup und diesem besteht darin, dass bei mehreren Zeilen mit demselben Lookup-Wert alle Elemente abgerufen werden.

   Function VLookupAll(ByVal lookup_value As String, _
                ByVal lookup_column As Range, _
                ByVal return_value_column As Long, _
                Optional seperator As String = ", ") As String

 Dim i As Long
 Dim result As String

For i = 1 To lookup_column.Rows.Count
If Len(lookup_column(i, 1).Text) <> 0 Then
    If lookup_column(i, 1).Text = lookup_value Then
        result = result & (lookup_column(i).Offset(0, return_value_column).Text & seperator)
    End If
End If
Next

If Len(result) <> 0 Then
result = Left(result, Len(result) - Len(seperator))
End If

VLookupAll = result

End Function

Antworten auf die Frage(4)

Ihre Antwort auf die Frage