Добрый день.
Столкнулся со задачкой, начал писать, но что-то не идет пока, поскольку c VBA только знакомлюсь. Необходимо сделать справочник, основанный на таблице из 4 столбцов. При вводе данных в ячейку, написанная на VBA функция должна искать значение ячейки в таблице - справочнике (все значения в ячейках числовые, но поскольку многие начинаются с 0, то формат данных везде текстовый) и возвращать значение первой строки того столбца, где есть совпадение.
Код приведен ниже. Подскажите пожалуйста что там не так. И, если не сложно, подскажите для VBA функцию, которая позволяла бы "резать" строки, т.к. отрезать от строковой переменной 2 последний разряда, к примеру. Версия справочника есть в прикрепленном файле, функция находится в ячейке E3.
Спасибо!
P.S. Сначала пытался сделать это стандартными средствами с помощью ЕСЛИ и ГПР, но так тоже ничего не фурычит. Подозреваю, что именно из за текстового формата данных для чисел.
Код |
---|
Public Function Directory(DirNumber As String, DirRange As Range) As String
Dim Sum As Double
Dim DirColumn As Double
Application.Volatile True
For Each cell In DirRange
If cell = DirNumber Then
DirColumn = cell.Column
End If
Next
Directory = DirRange(1, DirCulumn)
End Function
|