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