Формула для поиска в диапазоне с заданным листом - 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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.75 из 5
Похожие ответы