Автоматизация задач с помощью средства записи макросов — Excel
Для автоматизации повторяющихся задач в Microsoft Excel можно быстро записать макрос. Предположим, у вас есть даты в различном формате и вы хотите применить ко всем из них один формат. Это можно сделать с помощью макроса. Вы можете записать макрос, который применяет нужный формат, а затем запускать его при необходимости.
При записи макроса все действия в записи макроса записываются Visual Basic для приложений (VBA) коде. Эти действия могут включать ввод текста или чисел, выбор ячеек или команд на ленте или в меню, форматирование ячеек, строк или столбцов или даже импорт данных из внешнего источника, скажем, Microsoft Access. Visual Basic Приложение (VBA) — это подмножество мощного Visual Basic программирования, которое входит в большинство Office приложений. Хотя VBA позволяет автоматизировать процессы как в приложениях, так и между Office, необязательно знать код VBA или программирование на компьютере, если оно делает то, что вам нужно.
Важно знать, что при записи макроса регистрируются почти все ваши действия. Поэтому если вы допустите ошибку, например нажмете не ту кнопку, средство записи макросов зарегистрирует это действие. В таком случае можно снова записать всю последовательность или изменить код VBA. Поэтому перед записью процесса следует хорошо проработать его. Чем точнее вы запишете последовательность, тем более эффективно будет работать макрос.
Макросы и средства VBA находятся на вкладке Разработчик, которая по умолчанию скрыта, поэтому сначала нужно включить ее. Дополнительные сведения см. в статье Отображение вкладки «Разработчик».

Запись макроса
Перед записью макросов полезно знать следующее:
- Макрос, записанный для работы с диапазоном Excel, будет выполняться только для ячеек этого диапазона. Поэтому если вы добавите в диапазон новую строку, макрос не будет применяться к ней.
- Если вам нужно записать длинную последовательность задач, советуем вместо этого использовать несколько более мелких макросов.
- В макросе могут содержаться и задачи, не относящиеся к Excel. Процесс макроса может охватывать прочие приложения Office и другие программы, которые поддерживают Visual Basic для приложений (VBA). Например, вы можете записать макрос, который сначала обновляет таблицу в Excel, а затем открывает Outlook для ее отправки по электронной почте.
Чтобы записать макрос, следуйте инструкциям ниже.

- На вкладке Разработчик в группе Код нажмите кнопку Запись макроса. -ИЛИ- Нажмите ALT+T+M+R.
- В поле Имя макроса введите название макроса. Сделайте имя понятным, чтобы можно было быстро найти нужный макрос.
Примечание: Первым символом имени макроса должна быть буква. Последующие символы могут быть буквами, цифрами или знаками подчеркивания. В имени макроса не должно содержаться пробелов; в качестве разделителей слов следует использовать знаки подчеркивания. Если используется имя макроса, являющееся ссылкой на ячейку, может появиться сообщение об ошибке, указывающее на недопустимое имя макроса..
Работа с макросами, записанными в Excel
На вкладке Разработчик щелкните Макросы, чтобы просмотреть макросы, связанные с книгой. Кроме того, можно нажать клавиши ALT+F8. При этом откроется диалоговое окно Макрос.

Внимание: Макросы нельзя отменить. Прежде чем впервые запускать записанный макрос, сохраните книгу или создайте ее копию, чтобы предотвратить внесение нежелательных изменений. Если вас не устраивают результаты выполнения макроса, вы можете закрыть книгу, не сохраняя ее.
Ниже приведены дополнительные сведения о работе с макросами в Excel.
Сведения о параметрах безопасности макросов и их значении.
Макросы можно запускать различными способами, например с помощью сочетания клавиш, графического объекта, панели быстрого доступа, кнопки или даже при открытии книги.
С помощью редактора Visual Basic можно изменять макросы, присоединенные к книге.
Если книга содержит макрос VBA, который нужно использовать где-либо еще, этот модуль можно скопировать в другую книгу с помощью редактора Microsoft Visual Basic.
Назначение макроса объекту, фигуре или графическому элементу
- Щелкните правой кнопкой мыши объект, рисунок, фигуру или элемент, которому вы хотите назначить существующий макрос, и выберите пункт Назначить макрос.
- В поле Назначить макроса выберите макрос, который вы хотите назначить.
Вы можете назначить макрос значку и добавить его на панель быстрого доступа или ленту.
Вы можете назначать макросы формам и элементам ActiveX на листе.
Узнайте, как включать и отключать макросы в файлах Office.
Открытие редактора Visual Basic
Нажмите клавиши ALT+F11.
Узнайте, как найти справку по элементам Visual Basic.
Работа с записанным кодом в редакторе Visual Basic (VBE)
С помощью редактора Visual Basic (VBE) вы можете добавлять в записанный код собственные переменные, управляющие структуры и другие элементы, которые не поддерживает средство записи макросов. Так как средство записи макросов фиксирует почти каждый шаг, выполняемый во время записи, может также потребоваться удалить ненужный код. Просмотр записанного кода — отличный способ научиться программировать на VBA или отточить свои навыки.
Пример изменения записанного кода можно найти в статье Начало работы с VBA в Excel.
Запись макроса
Перед записью макросов полезно знать следующее:
- Макрос, записанный для работы с диапазоном Excel, будет выполняться только для ячеек этого диапазона. Поэтому если вы добавите в диапазон новую строку, макрос не будет применяться к ней.
- Если вам нужно записать длинную последовательность задач, советуем вместо этого использовать несколько более мелких макросов.
- В макросе могут содержаться и задачи, не относящиеся к Excel. Процесс макроса может охватывать прочие приложения Office и другие программы, которые поддерживают Visual Basic для приложений (VBA). Например, вы можете записать макрос, который сначала обновляет таблицу в Excel, а затем открывает Outlook для ее отправки по электронной почте.
Макросы и средства VBA находятся на вкладке Разработчик, которая по умолчанию скрыта, поэтому сначала нужно включить ее.
- Перейдите в Excel >параметры. >ленты & панель инструментов.
- В категории Настроить ленту в списке Основные вкладки установите флажок Разработчик, а затем нажмите кнопку Сохранить.
Чтобы записать макрос, следуйте инструкциям ниже.
- На вкладке Разработчик нажмите кнопку Запись макроса.
- В поле Имя макроса введите название макроса. Сделайте имя понятным, чтобы можно было быстро найти нужный макрос.
Примечание: Первым символом имени макроса должна быть буква. Последующие символы могут быть буквами, цифрами или знаками подчеркивания. В имени макроса не должно содержаться пробелов; в качестве разделителей слов следует использовать знаки подчеркивания. Если используется имя макроса, являющееся ссылкой на ячейку, может появиться сообщение об ошибке, указывающее на недопустимое имя макроса..
Работа с макросами, записанными в Excel
На вкладке Разработчик щелкните Макросы, чтобы просмотреть макросы, связанные с книгой. При этом откроется диалоговое окно Макрос.
Примечание: Макросы нельзя отменить. Прежде чем впервые запускать записанный макрос, сохраните книгу или создайте ее копию, чтобы предотвратить внесение нежелательных изменений. Если вас не устраивают результаты выполнения макроса, вы можете закрыть книгу, не сохраняя ее.
Ниже приведены дополнительные сведения о работе с макросами в Excel.
Узнайте, как включать и отключать макросы в Excel для Mac.
Если книга содержит макрос VBA, который нужно использовать где-либо еще, этот модуль можно скопировать в другую книгу с помощью редактора Microsoft Visual Basic.
Назначение макроса объекту, фигуре или графическому элементу
- Щелкните правой кнопкой мыши объект, рисунок, фигуру или элемент, которому вы хотите назначить существующий макрос, и выберите пункт Назначить макрос.
- В поле Назначить макроса выберите макрос, который вы хотите назначить.
Вы можете назначить макрос значку и добавить его на панель быстрого доступа или ленту.
Вы можете назначать макросы формам и элементам ActiveX на листе.
Открытие редактора Visual Basic
На вкладке Разработчик щелкните Visual Basic или выберите Сервис > Макрос > Редактор Visual Basic.
Узнайте, как найти справку по элементам Visual Basic.
Дополнительные сведения
Вы всегда можете задать вопрос эксперту в Excel Tech Community или получить поддержку в сообществах.
Что такое макросы
Мы уже говорили про автоматизацию на компьютере — как сделать так, чтобы он сам запускал программы и обрабатывал данные. А ещё можно автоматизировать работу отдельной программы. За это отвечают макросы.
Что такое макрос
Макрос — это небольшая программа, которая исполняется внутри какой-то другой программы, например в Фотошопе или Экселе. Вы можете сами написать эту программу и автоматизировать таким образом свою работу.
Где вы могли видеть макросы
Если вы когда-нибудь фотографировались на документы, вы наверняка видели такую картину: вас сфотографировали, поровняли голову по какому-то шаблону, убрали прыщи, а потом нажали какую-то кнопку — и за секунду у вас на листе шесть фотографий с логотипом фотомастерской, и всё выводится на печать. Это поработал макрос.
Вот пример, как такие макросы программируются и используются:

Что делать, если программа не поддерживает макросы
Если в программе нет встроенной поддержки макросов, можно скачать специальный софт — он запишет ваши действия и сможет повторять их в любой нужный момент. Как-нибудь доберёмся и до этого — выпустим отдельную подборку программ для создания своих макросов на уровне системы.
Что дальше
Теперь, когда мы знаем про макросы, попробуем поработать с ними в деле — сделаем свои макросы для Word и Excel. Подпишитесь, чтобы не пропустить проект и сэкономить себе время в будущем.
Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Макрос
Макрос, или макрокоманда — это небольшая программа, которая выполняет заданный набор действий в офисном документе. Чаще всего макросами пользуются в Microsoft Office Excel для работы с таблицами. Создать и запустить их можно внутри Excel.

Освойте профессию «Аналитик данных»
Макрос — подобие скрипта: небольшой программы, четко заточенной под определенные действия, чаще всего не имеющей графического интерфейса. Программу можно представить как большую и обширную команду, заданную системе. Поэтому второе название макроса — макрокоманда.
Кто пользуется макросами в работе
Макросами желательно уметь пользоваться всем, кто активно работает с Excel. Это экономисты, разные категории менеджеров, аналитики и специалисты по маркетингу или рекламе. Им приходится обрабатывать табличные данные, иногда в больших количествах.
Умение работать с макросами — не всегда обязательное условие для получения работы, но крайне желательно и может быть полезно в любом случае, если вы часто сталкиваетесь с Excel-таблицами.
Профессия / 12 месяцев
Аналитик данных
Находите закономерности и делайте выводы, которые помогут бизнесу

Для чего нужны макросы
- упростить и ускорить работу с документами;
- автоматизировать рутину и сконцентрироваться на интеллектуальных задачах;
- избежать человеческих ошибок в ряде задач, таких как, например, форматирование данных в таблице;
- быстро находить нужную информацию среди большого объема данных;
- объединять работу в нескольких продуктах Microsoft Office, потому что один макрос может работать с разными программами офисного пакета;
- создавать дополнительные функции, которых нет в программе изначально, но которые могут понадобиться пользователю.
Как это работает
Работа с макросами выглядит так: сначала пользователь создает набор команд с помощью инструментов внутри Excel, потом запускает выполнение одной кнопкой. В результате то, что вручную пришлось бы делать несколько минут, выполняется автоматически и не требует усилий со стороны человека. Так автоматизируют рутинные процессы.
Сохранить макрос можно локально — для конкретного документа, или глобально — для всех документов.
Когда макрос запускают, Excel выполняет его код — совершает действия, которые в нем описаны. Это похоже на написание и запуск программы при разработке скриптов, но для создания макросов не обязательно уметь программировать.
Запускать макрос можно сколько угодно раз, и он каждый раз будет выполнять заложенные в нем действия.
Читайте также Востребованные IT-профессии 2023 года: на кого учиться онлайн
VBA: язык для макросов
«Изнутри» макрос — код на языке программирования VBA, который принадлежит Microsoft. Аббревиатура расшифровывается как Visual Basic Application. Язык основан на Visual Basic, но адаптирован для использования внутри офисного пакета. Код описывает команды, которые нужно выполнить.
VBA встроен в Excel и другие программы Microsoft Office. Это значит, что они распознают язык и могут выполнять написанные на нем команды, если те поступят в программу. Писать на нем можно изнутри офисного пакета в окне Visual Basic — оно открывается через меню.
Пользователь, досконально знающий VBA, может создавать сложные макросы. Но разбираться в языке и уметь программировать для решения большинства задач не нужно. Создать макрос можно без написания кода вручную.
Как создать макрос в Excel
Создать новую макрокоманду можно двумя способами: написать код на языке VBA или записать действия с помощью специального встроенного модуля — макрорекордера.
Для обоих способов нужно открыть панель макросов. Это можно сделать через меню: вкладка «Разработчик», кнопка «Макросы». Если у вас в интерфейсе нет вкладки разработчика, кнопку можно найти в разделе «Вид» справа. А можно настроить окно так, чтобы вкладка появилась:

- перейти по пути «Файл — Параметры» или кликнуть правой кнопкой по меню;
- выбрать «Параметры Excel» и «Настроить ленту»;
- в списке «Основные вкладки» поставить галочку напротив пункта «Разработчик».
Теперь подробнее поговорим об обоих способах создания макроса.
Написать код вручную. Для этого понадобится открыть окно набора кода. Можно сделать это из вкладки «Разработчик»: там есть кнопка, которая называется Visual Basic. Если вы нажмете на нее, откроется окно. Оно будет пустым: редактор для написания кода надо открыть самостоятельно с помощью меню слева. Там есть кнопка View Code.

Второй способ открыть интерфейс для написания кода — нажать на кнопку «Макросы», ввести название нового макроса в верхней строке и нажать «Создать». В этом случае окно VBA откроется уже с пустой «заготовкой» под макрос и открытым редактором, где прописаны начало и конец команды. Останется только написать код в этом редакторе и сохранить.

Станьте аналитиком данных и получите востребованную специальность
Мы не будем углубляться в синтаксис и правила написания кода на Visual Basic: если человек только начинает работать с макросами, поначалу он редко пользуется этой возможностью. Хотя в будущем она может серьезно ему помочь.
Записать действия с таблицей. Второй вариант, более простой и не требующий уметь программировать, — воспользоваться макрорекордером. Так называется встроенный инструмент Excel, который «записывает» действия пользователя и потом на их основе автоматически генерирует код. Это похоже на запись видео или звука, только «пишутся» не кадры, а действия.

Выглядит это так: человек нажимает во вкладке «Разработчик» на кнопку «Записать макрос», вводит для него название, а потом выполняет действия с таблицей. Макрорекордер записывает эти действия и переводит их в код на Visual Basic, который сохраняется в виде макроса. Потом пользователь нажимает кнопку «Остановить запись», и рекордер прекращает записывать. Макрос готов, и им можно пользоваться
Пользоваться макрорекордером удобнее и быстрее для большинства действий. Его иногда рекомендуют как инструмент «для чайников», но вообще-то им пользуются и профессионалы, когда хотят сэкономить время.
Ограничения в использовании макрорекордера
Запись макроса – мощный, но не всемогущий инструмент. У нее есть ряд ограничений. С ее помощью нельзя:
- создавать сложные конструкции, например условные, когда какое-то действие выполняется, только если справедливо некоторое условие, или циклы;
- придумывать команды, которых нет в Excel изначально, и писать их с нуля;
- выполнять действия, при которых не нужно выбирать ячейку таблицы — макрорекордер работает только с ячейками, а например, открыть другой лист не сможет.
Но все перечисленное можно сделать вручную с помощью VBA. Более того: код пишется на Visual Basic, и «понимать» его может не только Excel — практически все программы офисного пакета. Поэтому макрос, написанный самостоятельно, может взаимодействовать поочередно с несколькими программами, например загружать в Excel данные из Access. Возможность работы «за пределами» Excel специфична для кода, написанного вручную.

Что лучше: писать код или записывать действия
Мы уже сказали, что макрорекордер чуть менее функционален; но есть еще одна деталь. Макрорекордер избыточен. Это значит, что при автоматической записи в макрос добавляется много лишнего, «мусорного» кода, и программы не оптимизированы. Потому они могут выполняться чуть медленнее, чем написанные вручную, и их тяжелее читать другим пользователям.
Это не значит, что от записи действий нужно отказываться. Нет, запись макросов — хороший способ сэкономить время на их создании. Но если вы знаете, что с вашей макрокомандой потом будет работать другой человек, или хотите выполнить какое-то сложное ресурсоемкое действие, лучше воспользоваться ручной записью.
В начале работы с макросами пользователь обычно не знаком с VBA или знаком, но слабо. Поэтому использование макрорекордера на этом этапе вполне оправдано и закономерно, помогает разобраться с тем, как работают макросы. Умение писать код на VBA приходит со временем, если человек постепенно учится.

Станьте аналитиком данных и получите востребованную специальность
Расширение файлов с макросами
Обычный файл Excel не может сохранить внутри себя макрос. Чтобы тот остался в документе и его можно было пересылать вместе с таблицей, понадобится сохранить файл с расширением .xslm — он поддерживает макросы. Файлы с расширением .xlsx их не поддерживают.

Абсолютные и относительные значения
Как и при написании функций в Excel, в макросах можно задавать абсолютные и относительные значения ячеек. По умолчанию макрос работает с абсолютными значениями — то есть, если вы кликнете в макрорекордере на ячейку B5, он при выполнении всегда будет выбирать B5. Чтобы макрос пользовался относительными значениями, то есть мог работать с разными ячейками, понадобится включить режим «Относительные ссылки». Кнопка для его включения находится прямо под кнопкой записи макроса.
В режиме относительных ссылок макрос начинает работу не с жестко зафиксированной ячейки с конкретным значением, а с той, которую сейчас выделил пользователь.
Создание макроса через запись: пошаговая инструкция
Разберем использование макрорекордера пошагово. Это довольно просто: можно с ходу создать несложный макрос и потом пользоваться им, даже если вы раньше не имели дел с макрокомандами.
-
Подготовка Понадобится перейти в панель «Разработчик». Если вы хотите, чтобы макрокоманда работала не с жестко зафиксированными ячейками, а с теми, которые вы выберете, нажмите на кнопку «Относительные ссылки». Кнопка включит относительный режим. Если вам нужна работа с абсолютными значениями, проигнорируйте этот шаг.

После этого нужно будет нажать на кнопку «Запись макроса».
Параметры макроса Откроется окно, в котором надо будет придумать уникальное имя для макрокоманды, а по желанию — комбинацию клавиш, которая будет запускать макрос. Там же надо будет:
1. Выбрать, где сохранится макрос — внутри открытого документа, внутри новой таблицы или в «личной книге», то есть глобально для всего Excel;
2. Придумать короткое описание, которое объясняет, что делает команда.
Описание и горячие клавиши не обязательны. Вариант сохранения по умолчанию — текущий документ, и им пользуются чаще всего, чтобы передавать таблицу другим можно было вместе с макросами. Личную книгу применяют, если пишут макрокоманду, которой планируют пользоваться в разных таблицах.

Кстати, личную книгу тоже можно передавать другим: это специальный файл внутри Excel, где хранится написанный пользователем код. В офисном пакете есть инструменты, позволяющие делиться этим файлом.
Запись действий После того как вы настроите будущий макрос, понадобится нажать «ОК». Запустится запись. Макрорекордер начнет фиксировать действия, которые вы выполняете.
Это могут быть любые действия с ячейками: выделение, переход на другую ячейку, редактирование ее значения, вставка или применение форматирования. Например, записанный макрос поможет привести несколько таблиц к единому виду внешне. Пользователь выделит цветом верхнюю строку, изменит ширину столбцов и исправит выравнивание для контента.

Проверить, что макрорекордер работает, можно в левом нижнем углу окна Excel. Когда он записывает действия, там отображается значок в виде квадратика.
Особенности выполнения действий Помните, что рекордер записывает все выделения, клики или переходы по ячейкам, поэтому старайтесь не совершать лишних действий. Если вы сделали что-то лишнее, отменить это можно, только если отредактировать код в редакторе Visual Basic — или записать макрос с самого начала.

— если вы создали его для конкретной книги — из этой книги;
— если вы сохранили его в личную книгу — из любого документа Excel.
Как пользоваться созданным макросом
Если при создании макроса вы задали для него комбинацию горячих клавиш, то его можно в любой момент запустить с помощью этого сочетания. Но обращайте внимание на то, где вы сохранили макрос: если только в пределах конкретной таблицы — запустить его из другого документа не получится, тот просто не будет о нем знать.
Если же комбинации нет, то для запуска макроса понадобится перейти в меню «Разработчик» и там нажать на кнопку «Макросы». Откроется список созданных вами и доступных для этого документа макрокоманд. Нужно будет выбрать нужную и нажать «Выполнить». После этого макрос исполнится.
Мы советуем назначать горячие клавиши для макросов, которые вы планируете запускать часто, а через меню открывать более редко используемые.
Узнайте больше о макросах и использовании Excel на наших курсах менеджмента: мы поможем научиться современным инструментам и освоить востребованную профессию.
Аналитик данных
Аналитики влияют на рост бизнеса. Они выясняют, какой товар и в какое время больше покупают. Считают юнит-экономику. Оценивают окупаемость рекламной кампании. Поэтому компании ищут и переманивают таких специалистов.

Статьи по теме:
Как и зачем использовать макросы
Макросы – это команды, которые автоматизируют действия в чатах и экономят время операторов. Нажав всего одну кнопку, вы сможете:
- отправить клиенту шаблонное сообщение;
- заполнить комментарий и другие текстовые поля в карточке клиента;
- оставить внутренний комментарий в чате;
- пометить чат как непрочитанный;
- закрыть текущий чат;
- закрыть текущее обращение в чате;
- перевести чат на оператора или группу и оставить комментарий;
- присвоить или удалить теги обращению или клиенту;
- выполнить POST-запрос и открыть страницу с результатами;
- выполнить Python-скрипт и открыть страницу с результатами.
Макросы могут содержать как одно действие, так и их серию.
Зачем нужны макросы?
Используйте макросы для быстрого выполнения рутинных действий. Например:
- переводите чат оператору или группе операторов – при переводе можно указать комментарий;
- назначайте теги клиенту или обращению или удаляйте их – это действие, в свою очередь, может запустить Туннели продаж;
- отправляйте POST-запросы во внешнюю систему при интеграции с другими сервисами – сервис получит информацию о текущем клиенте, диалоге и операторе, а также, при необходимости, авторизационный токен; после получения json-ответа с заполненным полем «URL» у оператора в новой вкладке откроется соответствующая страница;
- выполняйте скрипты;
- заполняйте комментарии и другие поля в карточке клиента;
- отправляйте клиенту шаблонные сообщения;
- закрывайте чат или обращение;
- оставляйте внутренний комментарий в чате.
Как создавать и использовать макросы?
Макросы настраиваются в пункте меню Автоматизация — Макросы. Чтобы вызвать созданный макрос, кликните на соответствующую команду в окне чата или нажмите комбинацию alt+цифра.
Как настроить макрос:
1. Перейдите в раздел Автоматизация — Макросы.

2. Определите, какие действия из перечисленных выше вы хотите выполнять в один клик. Макрос может содержать одно или несколько действий.
3. Создайте макрос.

3.1. Выберите название.

3.2. Настройте, кому доступен макрос: операторам, супервайзерам или и тем и другим.

3.3. При желании укажите цифру от 0 до 9, которая будет служить шорткатом для быстрого вызова команды.

4. Создайте команды.

Выберите команду из списка, укажите ее название и при необходимости заполните другие поля. Окно создания команды может выглядеть следующим образом:

5. Добавить нужные команды в созданный макрос. Порядок команд можно менять, нажимая на стрелки.

6. Теперь у всех сотрудников, кому доступен данный макрос, в чатах появится возможность его запускать. Вызвать макрос можно кликом или шорткатом, если он был задан в пункте 3.3.

Примеры макросов
- Быстро присвоить тег клиенту через шорткат.
- Отправить клиенту сообщение, заполнить поле в его карточке заданным текстом и перевести чат на группу операторов.
- Выгрузить данные о клиенте во внешнюю CRM-систему, показать страницу результатами и закрыть чат.
Если вам нужна помощь в настройке макросов – напишите нам через виджет на сайте.