Function VBA Поиск заголовка

Macro-функция поиска заголовка по данным из таблицы

Разбираем различные задачи из реальной практики в Microsoft Excel и находим успешные решения. К примеру вложен файл с образцом, его можно скачать по кнопке. Excel-XL: Создание макросов в Excel VBA с нуля (24 ак.ч.)

Велик и могуч Excel и функций в нем полезнейших множество! И все равно остаются задачи, которые возможно решить только с помощью VBA. Если говорить о возможностях поиска данных в массивах, то любая из встроенных функций должна понимать, в каком столбце или строке его искать. Но если требуется решить обратную задачу – то есть поискать в двухмерной таблице значение и в качестве результата определить заголовок столбца таблицы, содержащий это значение?

Макрофункция прикрепленного внизу файла как раз и решает эту задачу. Скачайте файл, вставьте в него свои листы (текущий лист можно удалить), пересохраняйте и работайте – функция называется СтолбецТаблицы (вводится через Мастер функций категория Определенные пользователем, либо как обычно ставим в ячейке знак равно, начинаем писать первые буквы и выбираем полное название под курсором мыши двойным щелчком или клавишей Tab). Устроена функция следующим образом:

При желании можно забрать этот макрос-функцию в любую свою книгу, для этого сначала сохраните ее, используя тип – с поддержкой макросов. Затем открываем редактор VBA (Alt+F11 , например, или Разработчик-Код-VisualBasic ), создаем новый модуль (Insert-Module) и копируем в него приведенный ниже код. Далее сохраняем книгу и работаем в обычном режиме.

Этот макрос входит в курс "МАКРОСЫ НА VBA С НУЛЯ", там я рассказываю подробно логику, синтаксические и орфографические правила языка VBA, чтобы подобные макросы Вы смогли бы составлять сами. Буду рада видеть Вас на обучении.

ПРОГРАММА И СТОМОСТЬ КУРСА.

 

Function СтолбецТаблицы (Значение As Range, Таблица As Range)
Dim rng As Range
For Each rng In Таблица
   If rng.Value = Значение.Value Then
     СтолбецТаблицы = Cells (Таблица.Row, rng.Column).Value
     Exit Function
   End If
Next
End FunctionFunction