VLookup несколько столбцов
Я использую функцию VLookup, которая ищет несколько значений, которые присутствуют в столбце. Это работает очень хорошо, но просто занимает много времени, так как у меня есть 100 000 строк на листе Excel.
Есть ли способ ускорить этот код?
Код в основном ищет определенное значение в столбце и получает смещение. Разница между простым VLookup и этим заключается в том, что если есть несколько строк с одинаковым значением поиска, тогда он получает все элементы.
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