VLookup columnas múltiples
Estoy usando la función VLookup que busca múltiples valores que están presentes en la columna. Esto funciona muy bien pero solo toma mucho tiempo ya que tengo 100,000 filas en la hoja de Excel.
¿Hay alguna manera de acelerar este código?
El código básicamente busca un valor particular en una columna y obtiene el desplazamiento. La diferencia entre el VLookup simple y esto es que en caso de que haya varias filas con el mismo valor de búsqueda, entonces se obtienen todos los 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