В MS Excel множество встроенных функций. В среднем пользователь MS Excel в повседневной работе использует не более 5% всех встроенных функций. Встроенные функции работают быстро и идеально. Но в работе для решения поставленных задач, иногда приходится изощряться, писать многоступенчатые формулы, "если" вложенные много раз в другие "если". И тут на помощь нам приходят возможности встроенного языка программирования VBA.
Для первого практического опыта создадим свою персональную функцию. Как в первом опыте, не будем вдаваться в подробности как мы это делаем, просто создадим персональную свою собственную функцию, чтобы иметь общее представление, что это такое. В дальнейших наших встречах, мы обязательно все обсудим.
Поставим для себя простую задачу: "Необходимо создать функцию, которая перед данными ячейки ставит знак №".
1. Открываем MS Excel. Сочетанием клавиш "ALT+F11" запускаем редактор VBA. И вновь перед нами открывается редактор:
2. Создаем модуль для хранения кода программы. Для этого на стандартной панели меню выбираем последовательно "Insert>Module".
3. В модуле набираем следующий код программы:
Function МояФормула(rng As Range)
МояФормула = "№" + CStr(rng.Cells(1, 1).Value)
End Function
Здесь первая строка кода объявляет создание функции с именем МояФормула, вторая строка является действием над первой ячейке выделенного диапазона, третья строка объявляет об окончании кода функции МояФормула.
4. Теперь вернемся на открытый лист MS Excel. И начинаем использовать созданную нами формулу "=МояФормула(", далее выбираем ячейку с данными и закрываем формулу.
5. Вся прелесть персональных функций в гибких возможностях анализа ячеек. Например, можно анализировать данные по очень сложному алгоритму, который будет вшит в код функции, анализировать данные по цвету ячеек, по используемому шрифту, по наличию определенного файла в папке и многим другим параметрам исходя из Ваших пожеланий и фантазии. Пользовательские функции создаются и хранятся в личной книге макросов, и использовать их можете только Вы.