Формула для поиска в диапазоне с заданным листом - VBA
Формулировка задачи:
Приветствую!
Имеется следующий макрос:
И макрос:
С помощью макроса "ИмяЛиста" на каждом листе создается столбец/строка с именем текущего листа.
Затем создаются ссылки на эти ячейки на другом листе, для каждого листа.
Что должна делать формула:
В переменной "Массив" изменять имя листа согласно данным из переменной "ИмяЛиста", преобразовав его тем самым в "МассивК". Затем в уже в диапазоне заданном "МассивК" выполнить поиск по переменным "ПвСтолбце" и "ПвСтроке". Переменная "Индекс" нужна для перерасчёта макроса (не всегда отзывается на F9).
Формула не работает, в чём причина понять не могу, прошу помочь.
Решение задачи: «Формула для поиска в диапазоне с заданным листом»
textual
Листинг программы
Function П2УЛ5(НомерСтолбцаМассив, НомерСтрокиМассив, ПвСтолбце, ПвСтроке, Индекс, ИмяЛиста) On Error Resume Next Dim ж As Integer ж = ИмяЛиста Set Лист = Worksheets(ж) Массив = Лист.Range(Cells(НомерСтрокиМассив, НомерСтолбцаМассив), Cells(7000, 7000)) Set г = Массив МассивСтолбец = Массив.Columns(1) МассивСтрока = Массив.Rows(1) е = Индекс - Индекс в = Application.WorksheetFunction.Match(ПвСтроке, МассивСтрока, 0) д = Application.WorksheetFunction.Match(ПвСтолбце, МассивСтолбец, 0) б = г.Cells(д, в) П2УЛ5 = б End Function
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д