Заметка написана Андреем Макаренко
Всем, кому приходится использовать функции Excel, на определенном этапе сталкиваются с проблемой ограниченности предлагаемого функционала. Первый выход из этой ситуации — все более глубокое изучение встроенреных возможностей (знакомясь с этой темой, не устаешь поражаться как богатству предлагаемых Excel возможностей, так и неординарности решений их использования). Однако нужно признать, что имеющаяся ограниченность объективна, т.к. «нельзя объять необъятное» с одной стороны, и изучение специфических функций Excel нигде кроме Excel не потребуется с другой.
Рис. 1. Диалоговое окно сортировки предоставляет большой выбор параметров; чтобы увеличить изображение кликните на нем правой кнопкой мыши и выберите Открыть картинку в новой вкладке
Скачать заметку в формате Word или pdf, примеры в формате Excel (с макросами)
Поэтому следующий уровень развития — это написание своих собственных функций. Выходя на этот уровень, получаешь в качестве инструментов всё богатство управляющих конструкций, регулярные выражения, доступ к уже созданным библиотекам и «прочая, прочая, прочая», и всё это на основе знаний, применяемых в том или ином виде в любом языке программирования. Первому шагу на этом пути посвящена данная статья, целью которой является показать, что программирование — это просто!
Автоматизировать можно и нужно любое часто повторяемое действие. Возьмем для примера сортировку по заданному столбцу — «AE» (мы выбрали удаленный столбец преднамеренно, т.к. его ручное выделение затрудненно). Для ее выполнения проводятся следующие действия (используем Excel2010):
- Выделяем подлежащие сортировке строки
- Вызываем диалоговое окно Данные —> Сортировка
- В поле «Сортировать по» выбираем колонку «AE»
- Нажимаем Ok
В среднем операция занимает 15 секунд. За день у нас она повторяется раз 200. Итого 3000 секунд, или практически час тупого повторения. Т.к. операции эти делать нам, мы хотим от них избавиться! Чтобы не копаться в объектной модели Excel (у нас же нет цели стать великими программистами) можно здорово упростить задачу используя механизм макросов. Мы запишем последовательность необходимых действий, а потом доработаем их под наши задачи. Макросы в Excel по умолчанию выключены (точнее, записать вы их сможете, но вот сохранить или открыть файл с макросами, нет). Чтобы включить возможность работать с макросами, пройдите по меню Файл —> Параметры —> Центр управления безопасностью —> Параметры центра управления безопасностью —> Параметры макросов —> Включить все макросы. Теперь можно сохранить исходный файл с расширением *.xlsm — файл Excel с поддержкой макросов.
Рис. 2. Включая возможность выполнения макросов вы переключаете на себя контроль над защитой от вирусов
Обеспечиваем себе удобный доступ к средствам программирования: Файл —> Параметры —> Панель быстрого доступа. Ставим «галку» в правой части (Настройка ленты) напротив поля Разработчик.
Рис. 3. Выводим вкладку Разработчик на ленту
В ленте появилась вкладка Разработчик. Выбираем её и в разделе Код нажимаем Запись макроса. Макрос можно также запустить, нажав кнопку в Строке состояния Excel в нижнем левом углу окна (рис. 4). После начала записи макроса эта кнопка меняет вид, и теперь с ее помощью можно остановить запись макроса.
Рис. 4. Кнопка в Строке состояния, активирующая начало записи макроса
Рис. 5. После нажатия на кнопку Запись макроса, ее название меняется на Остановить
Даем имя макросу, присваиваем клавиатурное сокращение Ctrl+q (рис. 6), и начинаем запись последовательности выполняемых действий.
Рис. 6. Параметры макроса можно установить и изменить в дальнейшем в диалоговом окне Макросы