VLookup várias colunas

Eu estou usando a função VLookup que procura vários valores que estão presentes na coluna. Isso funciona muito bem, mas leva muito tempo, pois tenho 100.000 linhas na planilha do Excel.

Existe alguma maneira de acelerar este código?

O código basicamente procura um determinado valor em uma coluna e obtém o deslocamento. A diferença entre o VLookup simples e isso é que, no caso de haver várias linhas com o mesmo valor de pesquisa, ele obtém todos os elementos.

   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

questionAnswers(4)

yourAnswerToTheQuestion