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

Ответы на вопрос(4)

Ваш ответ на вопрос