Подглядел и дописал функцию ВПР2, которая возвращает последнее найденное значение в диапазоне (а не первое, как обычная ВПР).
Пожалуйста, подскажите начинающему программисту на VBA, почему функция возвращает 0, а не ошибку, если совпадений не найдено.
Могу, конечно, в начало кода добавить строку
ВПР2 = "#Н/Д"
Но это как-то странно.
Пожалуйста, подскажите начинающему программисту на VBA, почему функция возвращает 0, а не ошибку, если совпадений не найдено.
Могу, конечно, в начало кода добавить строку
ВПР2 = "#Н/Д"
Но это как-то странно.
Код |
---|
Function ВПР2(SearchValue As Variant, Table As Range, ResultColumnNum As Integer) Dim i As Integer For i = 1 To Table.Rows.Count If Table.Cells(i, 1) = SearchValue Then ВПР2 = Table.Cells(i, ResultColumnNum) End If Next i End Function |