Что такое макрос
Представьте, что работаете фотографом. Сегодня у вас была съёмка, во время которой получилось сделать 200 фото, и теперь каждое нужно обработать. При этом у материалов должна быть одна и та же цветокоррекция.
Фотографу, который мало знает о возможностях Photoshop, пришлось бы потратить несколько рабочих дней на то, чтобы выставить одинаковые настройки для каждого фото. Но это лишнее. Чтобы избежать такой нудной работы, придумали макросы.
Макросы или макрокоманды — это небольшие программы без своего интерфейса, которые умеют запоминать набор действий в других программах, сохранять их и применять к документам.
Макросы помогают сэкономить время. С их помощью вы можете записать нужную последовательность действий и назначить для неё горячую клавишу. После этого каждый раз при её нажатии можно будет применять заданные эффекты.
Возвращаемся к примеру с фотографом и Photoshop. Если специалист умеет создавать макросы, он может записать последовательность действий, чтобы выставить нужную цветокоррекцию для одного фото. А после — просто применить макрос ко всем остальным. И обработка займёт несколько минут вместо нескольких дней.
Для чего используют макросы
Макросы можно использовать не только в Photoshop. Гораздо чаще их применяют в офисных программах, связанных с документами: Word, Excel, PowerPoint и т. д. Это помогает избавиться от рутины профессионалам, которые часто работают в этих программах: менеджерам, бухгалтерам, аналитикам, пиарщикам и другим специалистам.
Рассмотрим несколько примеров, зачем они могут быть нужны офисным работникам. С макросами можно:
форматировать внешний вид документов по единому шаблону;
искать ошибки, опечатки, двойные пробелы и т. д.;
проставлять вотермарки, печати, логотипы и т. д.;
отправлять готовые документы по Outlook, email и т. д.
И хотя навыки работы с макросами нельзя назвать решающими, они здорово экономят время. Так, специалисты могут сосредоточиться на более важных задачах, а не тратить часы, чтобы выставить границы одинаковой толщины во всех таблицах отчёта.
Как создать макрос в Excel: пошаговая инструкция
И хотя макрос — это скрипт, вам не нужно знать какой-либо из языков программирования, чтобы создать его. Для этого в разных программах есть особая функция, которая позволяет записывать набор действий, а потом повторять его. В продуктах от Microsoft это называется макрорекордер.
Этот способ подойдёт тем, кто не собирается писать сложные макросы. И вот почему:
макрорекордер создаёт код автоматически, а значит, в нём всегда много «мусорных» строк;
с ним можно записать только работу с содержимым документа, а не программой в целом — например, нельзя создать скрипт, который закроет окно с программой;
вы не сможете создать новые пользовательские функции и циклы.
Второй вариант — написать код самостоятельно. В случае с Excel для этого используют язык программирования VBA (Visual Basic for Application), который принадлежит Microsoft. Он несложный, но учить его только для создания простых скриптов не имеет смысла. Для таких макросов вам будет достаточно записать только действия в полях документа, для чего и предназначен макрорекордер.
Но если вы решитесь, начните с самоучителя по VBA на официальном сайте Microsoft. Знать команды будет также полезно тем, кто захочет «причесать» скрипт после макрорекордера или вручную изменить его часть в редакторе.
Шаг № 1. Откройте раздел «Разработчик»
Сразу найти функцию создания макроса не получится. Она находится в разделе Разработчик и скрыта по умолчанию. Поэтому сначала сделаем её видимой.
Для этого откройте Microsoft Excel и найдите на панели сверху вкладку Файл. Кликните по ней и перейдите в Параметры. В новом окне отыщите раздел Лента, а затем Панель. Дальше откроется окошко со всеми возможными разделами — там нужно найти пункт Разработчик и поставить галочку рядом.
После этого на верхней панели отобразится нужная вкладка.
Шаг № 2. Запишите макрос
Дальше всю работу мы будем делать именно во вкладке Разработчик. Но сперва подготовьте документ, форматирование которого вы хотите сохранить. В нашем случае это будет таблица с книгами для гаражной распродажи. Их нужно будет отсортировать по названию, авторам, издательствам и годам выхода.
Когда будете готовы приступать, кликните по вкладке Разработчик и выберите в ней пункт Записать макрос. После этого откроется новое окно с параметрами. Здесь вам предложат:
дать название программному алгоритму;
составить его описание;
назначить горячую клавишу;
указать книгу, в которой программа сохранит макрос.
Мы советуем заполнить каждый из пунктов, в т. ч. описание. В будущем оно подскажет, что конкретно делает этот скрипт и не даст запутаться. Это полезно, если макросов много.
Когда заполните эту пункты, нажмите ОК. После этого внизу страницы появится значок — маленький чёрный квадрат. Это означает, что запись макроса началась. С этого момента каждый ваш клик и нажатие клавиши Excel будет запоминать и переводить в код VBA.
Теперь отформатируйте текст, который заранее подготовили. Убедитесь, что ничего не забыли и готовы сохранить результат. Когда будете уверены в этом, нажмите на значок квадрата внизу или кнопку Остановить запись в разделе Разработчик.
Макрос готов.
Это важно
Когда вы примените макрос к другой таблице, он отформатирует только те ячейки, которые вы выбирали при записи. Например, только 5 строк с A по B, если вы выделяли именно их. Чтобы отменить это, нужно включить режим Относительные ссылки в разделе Разработчик.
После этого макрос можно будет применить к произвольному месту в документе. Однако площадь форматирования будет та же. В нашем примере это 5 строк. Если вы знаете, что другие таблицы могут быть больше, советуем выделять площадь с запасом.
Шаг № 3. Опционально — отредактируйте код
Теперь стоит проверить, как сохранился макрос, для чего нужно увидеть его код. Чтобы сделать это, найдите кнопку Макросы во вкладке Разработчик и нажмите на неё. Откроется новое окно. В его правой части вы увидите название макроса, который только что сохранили. Если есть другие связанные с этой книгой макросы, они тоже будут там.
Чтобы посмотреть код макроса, дважды нажмите на его название или кликните по кнопке Изменить справа. В новом окне вы увидите среду для разработки скриптов на VGA. Там же будет код готового макроса со всем набором действий. Если вы умеете обращаться с ним, можете почистить строки — убрать лишние команды и добавить недостающие.
Шаг № 4. Примените макрос
Теперь проверим, как всё работает. Для этого возьмём похожие неотформатированные данные и применим к ним готовый макрос. Выделяем зону обработки, открываем окно Макросы, выбираем нужный и жмём Выполнить.
Также вы можете быстро применить макрос одним нажатием кнопки, для чего и были предназначены горячие клавиши.
Всё работает! Теперь этот макрос можно использовать для других таблиц.
Это важно
Стоит помнить, что макрос поддерживает только особые форматы, такие как .xslm. Если сохранить документ в .xlsx, все эффекты от него пропадут.
Получи больше пользы от Skysmart:
-
Научись программировать на курсах разработки.
-
Выбирай из 130+ наставников по программированию.
Записывайся на бесплатные курсы для детей.
Как создать макрос в Excel Online
Создавать и применять макросы можно и в веб-версии Excel. Правда, в этом случае всё будет немного по-другому. Давайте простыми словами разберём особенности макросов в Excel Online и узнаем, что отличает их в этой версии.
Снова создадим таблицу, но на этот раз онлайн, на сайте Google Docs. В этом случае не нужно искать скрытые разделы — всё нужное уже есть на панели.
Чтобы начать запись, найдите раздел Расширения. В нём нас интересует пункт Макросы → Записать макрос.
То, что создание макроса началось, вы поймёте по панели снизу. На ней будет мигающий красный кружок и надпись Запись нового макроса.
Дальше всё будет, как в обычной версии Excel. Отформатируйте материалы, а когда закончите, нажмите Сохранить на панели записи. Если что-то пошло не так, можно кликнуть Отмена там же, а после начать сначала.
Когда макрос сохранится, Excel Online предложит составить название и задать горячую клавишу. Дальше макрос можно будет просмотреть в сервисе Apps Script. Перейти на него можно из того же раздела Расширения.
В Apps Script вы найдёте список всех сохранённых макросов и сможете просмотреть код каждого по двойному щелчку на его название. Здесь же можно с нуля написать свой код myFunction. Для этого нажмите на «+» рядом с надписью Макросы.
Это важно
Вы можете импортировать уже готовый программный алгоритм myFunction в Excel Online. Для этого зайдите в раздел Расширения и нажмите Импортировать макрос.
Ответы на частые вопросы
Теперь простыми словами ответим на оставшиеся вопросы о макросах, которые не вошли в статью.
Какие типы макросов существуют и для чего они используются?
Макросы можно создавать на разных уровнях. Один мы уже изучили — это мини-программа внутри другой программы. Но есть и другие.
Ещё один вид — это макрос на уровне операционной системы. Это такой же скрипт, но он автоматизирует действия в самой ОС. Например, чтобы работать с файлами, папками, сайтами, открывать нужные программы и т. д. Один из известных — это Macro Recorder для Windows.
Другой вид макросов позволяет программировать устройства ввода и вывода: клавиатуру, мышь и т. д. С их помощью вы сможете настроить действия для любой из кнопок, и компьютер будет выполнять их по одному нажатию. Взять, к примеру, игровые мыши. На их корпусе часто много кнопок и по умолчанию они ничего не делают. С помощью макросов вы сможете настроить для каждой из них свою задачу.
Каким образом макросы влияют на производительность программы?
С одной стороны, макросы помогают быстрее делать однообразные задачи. А ещё с ними можно расширить функции программы, если написать код самому. С другой — они могут и тормозить её работу. Например, громоздкие и замусоренные скрипты, которые автоматически создаёт макрорекордер, легко заставят тот же Excel зависать.
Чтобы такого не случалось, лучше не создавайте большие макросы. Вместо них советуем делать цепочку маленьких, а также оптимизировать код вручную.
Преимущества и недостатки Python
Сегодня мы поговорили о поддержке макросов в Excel и других программах: разобрались, что это за понятие, зачем нужно и как работает. Здорово, если это поможет вам в учёбе. А тем, кто хочет писать макросы и другие программы сам, мы советуем больше практиковаться в коде. Ведь их можно создавать и на общеизвестных ЯП, например, на Python.
На курсах программирования в Skysmart Pro мы поможем определиться с тем, какой из языков вам ближе. Вы сможете поставить цель, которая будет вдохновлять, и сами разработаете свои первые проекты для будущего портфолио. Первый вводный урок — бесплатно!