Макрос (или макрокоманда) в Excel – это некий алгоритм действий в программе, который объединяет несколько операций в единое целое. С помощью него получится выполнить сразу несколько шагов за счет нажатия на одну кнопку в меню Excel или на то или иное сочетание клавиш.
Макросы – это коды, написанные на специальном языке, встроенном в MS Excel. Они используются для упрощения работы с соответствующим офисным приложением. Для написания соответствующих кодов используется язык Visual Basic for Application (VBA).
Далее предстоит выяснить, как работать с макросами в Excel. Необходимо разобраться с особенностями этого элемента, принципами его формирования. Подобная информация пригодится не только IT-специалистам, но и обычным ПК-пользователям.
Принципы работы макросов
Работа с макросами в Excel – достаточно простая задача, если правильно подойти к ее реализации. Перед изучением принципов их создания необходимо выяснить, как функционируют макрокоманды.
Можно представить себе алгоритм их работы так:
- Пользователь осуществляет запись последовательности действий, необходимых для реализации в MS Excel. Сделать это можно несколькими способами – на усмотрение каждого клиента.
- Excel обрабатывает соответствующие операции и формирует для них единую команду. Это и есть макрос.
- Пользователь запускает макрокоманду тогда, когда это необходимо. Можно сделать это через заданное заранее сочетание клавиш или за счет специальных кнопок управления.
Макрокоманды значительно упрощают работу в Экселе. С их помощью получится автоматизировать некоторые рутинные процессы. А освоить работу с соответствующими элементами способен даже неопытный пользователь.
Области применения
Макрокоманды способны выполнять самые разные операции. Они используются для:
- автоматизации повторяющихся операций;
- объединения работы нескольких программ Microsoft Office;
- поиска ячеек с данными и их дальнейшего переноса в другие документы;
- форматирования таблиц и их заполнения текстом;
- формирования разнообразных шаблонов ввода информации;
- создания новых функций в Excel.
Все это помогает формировать макрокоманды практически под любые задачи, связанные с работой Excel-таблиц.
Способы создания
Макросы могут быть созданы несколькими способами. Они формируются:
- путем записи алгоритма действий;
- программированием вручную – за счет написания исходного кода алгоритма.
Далее эти концепции будут рассмотрены более подробно. Тем, кто ранее не имел никаких дел с макросами, рекомендуется остановиться на первом варианте. Он достаточно прост в плане реализации, поэтому не должен вызвать никаких проблем.
Второй подход к записи макроса осуществляется через специальный язык программирования – VBA. Он больше ориентирован на опытных пользователей. Особенно на тех, кто ранее имел какой-либо опыт в программировании. Записать вручную можно самые разные макрокоманды для работы с электронными таблицами – даже достаточно сложные.
Предварительная подготовка к записи
Перед тем как начать работу с макросами в Excel, необходимо провести небольшую предварительную подготовку. Она не является обязательной, но значительно упростит использование рассматриваемого инструмента.
Рекомендуется добавить на ленту меню Экселя вкладку «Разработчик». Для этого потребуется:
- Запустить Excel и кликнуть правой кнопкой мыши (ПКМ) по любой существующей вкладке на ленте.
- Выбрать в появившемся меню «Настроить ленту».
- В появившемся окне перейти ко вкладке «Настроить ленту».
- Установить флажок около пункта «Разработчик».
- Нажать на «Ок».
На главной ленте Excel появится новая вкладка – «Разработчик». Если она изначально была активирована, предварительная подготовка не нужна. Остается определиться со способом создания макросов для работы с таблицами в Экселе, а затем осуществить запись алгоритма.
Что нужно помнить перед записью
Перед созданием макросов необходимо запомнить некоторую информацию об особенностях их работы. К ним относят следующие моменты:
- Макрокоманды записывают все пользовательские действия. После начала формирования алгоритма макрос регистрирует все клики мыши и нажатия клавиш. Именно поэтому последовательность рекомендуется отработать заранее. Это поможет избежать ненужных манипуляций. Длинную последовательность лучше разбить на несколько коротких макрокоманд.
- Работа макроса с таблицами не может быть отменена. Все действия, которые выполняются путем активации макрокоманды, остаются в документе навсегда. За счет этого рекомендуется перед запуском рассматриваемого элемента сделать дополнительную копию исходного документа. Если что-то пойдет не так, можно будет просто закрыть файл и переписать макрокоманду в копии.
- Макрокоманда в Excel выполняет алгоритм только для записанного диапазона таблиц. Если при попытке записать макрос пользователь использует диапазон таблицы, в другом месте соответствующий элемент работать не будет.
Эти простые правила помогут не допустить ошибок и получить максимально быстро готовый алгоритм для автоматизации работы в Microsoft Excel.
Запись макроса
Создать макрос в Excel можно путем его записи. Это самый простой вариант. Он подойдет новичкам. При его реализации Excel самостоятельно записывает программный код из сформированного алгоритма. Необходимо всего лишь воспользоваться макрорекордером.
Макрорекордер – это специальный инструмент, который осуществляет пошаговую запись операций, выполненных в MS Excel. После этого он переводит алгоритм в программный код на языке VBA. Макрорекордер формирует очень подробные кодовые блоки.
Чтобы понять, как записать макрос, рекомендуется рассмотреть наглядный пример. Пусть сформированная макрокоманда выбирает ячейку в Экселе и вводит в нее текст. Пример – «Excel».
Для формирования такого макроса потребуется:
- Открыть документ, с которым планируется дальнейшая работа.
- Перейти во вкладку «Разработчик» на главной панели инструментов.
- В группе код кликнуть по кнопке «Запись макроса». На экране появится новое диалоговое окно.
- В окне «Запись макроса» необходимо ввести имя для макрокоманды. Использовать в этом поле пробелы нельзя. Лучше разделять слова заглавными буквами или подчеркиванием.
- При желании задать сочетание клавиш для запуска алгоритма.
- В поле «Сохранить в» установить параметр «Эта книга». Соответствующий вариант гарантирует, что макрокоманда станет частью открытой рабочей книги.
- Указать описание макроса. Это поле не является обязательным. Обычно соответствующий раздел позволяет понять, что делает записываемый алгоритм.
- Нажать на «Ок». Как только это будет сделано, Excel начнет записывать пользовательские действия.
- Выбрать ячейку. Пусть это будет A2.
- Ввести текст «Excel».
- Нажать на клавишу Enter на клавиатуре. Выделение спустится на поле A3.
- Кликнуть по кнопке «Остановить запись».
Все готово! Теперь макрокоманда записана. Ей можно пользоваться в используемой (и указанной в настройках записи алгоритма) книге Excel.
Проверка алгоритма
Чтобы убедиться в работоспособности макрокоманды, рекомендуется проверить его. Для этого предстоит выполнить следующие действия:
- Удалить текст в ячейке A2. Это необходимо для проверки вставки макросом текста в соответствующее поле.
- Выбрать любую ячейку в таблице, исключая A2. Данная операция потребуется, чтобы проверить, будет ли Эксель самостоятельно выбирать нужную ячейку.
- Перейти на вкладку «Разработчик».
- В группе «Код» щелкнуть по кнопке «Макросы».
- В диалоговом окне щелкнуть по макрокоманде, которая была записана ранее. Ее можно идентифицировать по имени.
- Нажать на кнопку «Выполнить».
Если все сделано верно, Excel перейдет на ячейку A2, затем вставит туда слово «Excel» и переключится на ячейку A3. Больше никаких операций выполнено не будет.
Запуск макрокоманды допускается при помощи сочетания клавиш. Этот вариант доступен тем, кто при записи рассматриваемого алгоритма задал «горячие клавиши» для обращения к нему.
Написание кода
Еще один вариант создания макросов – это непосредственное написание их программных кодов. Этот подход больше ориентирован на опытных пользователей, умеющих программировать (даже на начальном уровне).
Чтобы воспользоваться таким подходом, необходимо:
- Открыть документ, с которым планируется работа.
- Перейти во вкладку «Разработчик».
- Кликнуть по кнопке «Редактор Visual Basic».
- Записать алгоритм на языке программирования VBA.
- Сохранить код.
Это достаточно сложный подход к формированию макрокоманд в Excel. Каждый алгоритм будет иметь свою собственную структуру, поэтому лучше сконцентрироваться на изучении окна редактора Visual Basic.
Интерфейс редактора
Макросы сохраняются в программных модулях. В любой книге Excel можно создавать любое количество этих самых модулей, а затем размещать там макросы. Один модуль может включать в себя бесконечное количество макрокоманд. Доступ к ним осуществляется через окно Project Explorer в левом верхнем углу редактора. Если этот элемент не отображается, рекомендуется зажать сочетание клавиш Ctrl + R.
Программные модули могут быть:
- Обычными. Они используются чаще всего. Для создания такого модуля необходимо выбрать в меню «Insert»–«Module». В появившемся окне нового пустого элемента разрешено вводить различные команды на VBA.
- Эта книга. Он тоже отображается в левом верхнем углу редактора Visual Basic. Обычно в него записываются макросы, которые необходимо выполнять при тех или иных событиях в книге (открытие, сохранение, печать документа и так далее).
- Модулями листов. Доступен через контекстное меню листа или в левом верхнем углу редактора. В первом случае необходимо кликнуть правой кнопкой мыши (ПКМ) по ярлыку листа и выбрать «Исходный текст». Здесь записываются алгоритмы, которые выполняются при определенных событиях на листе.
Ниже можно увидеть, как выглядит редактор Visual Basic для Excel:
Здесь можно заметить следующие блоки:
- Меню. Оно включает в себя команды, которые могут быть использованы в процессе работы с редактором VB.
- Панель инструментов. Напоминает панель быстрого доступа Excel. Здесь можно добавлять дополнительные инструменты – те, с которыми пользователь часто работает.
- Окно проектов. Тут перечисляются все книги и их объекты.
- Окно кода. Именно здесь пишется и отображается исходный код на VBA. Для каждого объекта, записанного в проводнике проекта, поддерживается такое окно.
- Окно свойств. Тут отображаются свойства каждого объекта в выбранном окне.
- Окно предпросмотра. Начинающим пользователям оно не пригодится. Этот блок полезен, когда хочется протестировать сформированный макрос или отладить его. По умолчанию этот раздел не отображается. Он может быть выведен на экран путем клика по вкладке «View» и выбора опции «Immediate Window».
Теперь можно рассмотреть наглядный пример «программирования» макроса. Это поможет лучше понять написание его кода.
Особенности программирования и наглядный пример
Вот – макрокоманда, которая введена в стандартный модуль. Это пример, который объясняет принцип разработки макросов на VBA:
Здесь необходимо запомнить следующее:
- Записанный макрос имеет имя «Zamena».
- Любой макрос начинается с оператора Sub. После него необходимо указать имя макрокоманды и список аргументов (входных параметров).
- Аргументы пишутся в скобках. Если их нет, пространство между скобками остается пустым.
- Заканчивается любой макрос оператором End Sub.
- Все, что находится между Sub и End Sub – это тело макроса для работы с таблицами. Так называется алгоритм, который планируется реализовывать. В заданном примере макрос будет выделять ячейку, а затем окрашивает выделенный диапазон (Selection) желтым цветом (код = 6). После этого в цикле осуществляется проход по всем ячейкам для замены формул необходимыми значениями. После этого выводится окно сообщения (MsgBox).
Записывать макрос путем его программирования – не всегда простая и понятная задача. Именно поэтому рекомендуется пользоваться макрорекордером. Он позволит автоматизировать огромное количество различных задач в Excel.
Пользовательские функции
При помощи макросов можно создавать пользовательские функции (UDF-функции). Процедура их формирования почти ничем не отличается от задания макрокоманды в обычном программном модуле. Разница лишь в том, что макрос будет выполнять последовательность действий с объектами (формулами и значениями, диаграммами, ячейками и так далее), а пользовательская функция – только с теми значениями, которые были переданы в качестве аргументов.
Для создания пользовательской функции (в качестве примера будет использовать расчет НДС), потребуется:
- Открыть редактор Visual Basic.
- Выбрать «Insert»–«Module».
- Ввести туда текст функции. Он приведен на скриншоте ниже.
- Сохранить изменения.
Вот текст создаваемой функции:
После ввода кода соответствующая операция доступна в обычном окне «Мастера функций» в разделе «Определенные пользователем».
Теперь понятно, как написать макрокоманду и использовать ее в Microsoft Office Excel. Также удалось познакомиться с принципом создания пользовательских функций. Лучше научиться работать в Excel и задействовать все его инструменты помогут дистанционные компьютерные курсы.
Хотите освоить современную IT-специальность? Огромный выбор курсов по востребованным IT-направлениям есть в Otus!