Исходный код функции ВПР Excel

Могу ли я найти исходный код функции VLOOKUP в excel (VBA), чтобы изменить его? Гугл мне ничем не помогает. Спасибо!


person John    schedule 14.09.2012    source источник


Ответы (3)


Excel/VBA не имеет открытого исходного кода, поэтому исходный код конкретной функции недоступен.

Вы можете написать свою собственную UDF (определяемую пользователем функцию) в VBA для создания модифицированной версии.

Существует также более гибкая (не VBA) версия VLOOKUP/HLOOKUP по адресу http://www.cpearson.com/Excel/FlexLookup.aspx

person barrowc    schedule 14.09.2012

Основываясь на ответе Вахида, который у меня не сработал, я сделал следующий код, который сработал:

Function CUSTOMVLOOKUP(lookup_value As String, table_array As Range, col_index_num As Integer)
    Dim i As Long
    For i = 1 To table_array.Rows.Count
        If lookup_value = table_array.Cells(i, 1) Then
            CUSTOMVLOOKUP = table_array.Cells(i, col_index_num)
            Exit For
        End If
    Next i
End Function
person Homero Esmeraldo    schedule 02.06.2017

Это простая реализация Vlookup:

        Public Function VLOOKUP1(ByVal lookup_value As String, ByVal table_array As Range, ByVal col_index_num As Integer) As String
        Dim i As Long

        For i = 1 To table_array.Rows.Count
            If lookup_value = table_array.Cells(table_array.Row + i - 1, 1) Then
                VLOOKUP1 = table_array.Cells(table_array.Row + i - 1, col_index_num)
                Exit For
            End If
        Next i

        End Function
person Vahid Dastitash    schedule 31.10.2016