Их несомненным преимуществом является тот факт, что даже пользователь, не знающий языка программирования VBA (Visual Basic для приложений), может создать мини-программу, которую затем может использовать в своей повседневной работе, благодаря использованию макросов, встроенных в некоторые программы MS Office.
Примером может служить команда для вставки форматов и значений – вы можете создать макрос, который будет выполнять эти два действия одновременно, вместо того, чтобы дважды использовать команду «Специальная вставка».
Начиная с версии Office 2007, когда необходимо использовать новый формат файла, различают: * .xlsm - используется для хранения файла в новом формате с сохранением огромного количества строк и столбцов с поддержкой макросов, * .xlsx - не позволяет сохранять макросы в файле. Если вы работаете в «режиме совместимости», инструкцию по расширению которого мы добавили в курс по экселю, сохраняйте файлы в предыдущем формате * .xls, который поддерживает макросы.
Что такое макрос Excel и для чего он нужен?
В случае с Excel, макрос – очень распространенное понятие, особенно на более высоких уровнях владения программой. В самом простом понимании, макрос - это мини-программа, написанная на языке программирования VBA, которая чаще всего используется для автоматизации действий, которые мы выполняем в Excel, но не только. С использованием макросов создаются пользовательские функции, которые затем можно использовать в электронной таблице Excel.
С помощью макросов можно снизить производительность серии утомительных и повторяющихся действий до одного нажатия кнопки или сочетания клавиш. Если на работе мы часто выполняем ряд одинаковых операций с некоторыми данными, мы почти наверняка сможем автоматизировать такие операции с помощью макроса.
Конечно, было бы хорошо, если бы макрос мог выполняться не только с текущими данными, но и в будущем, если структура данных немного изменится или данных просто больше / меньше.
При разработке макроса важно мыслить универсально, то есть использовать команды, которые можно использовать на многих листах, а не только на одном, в данной конкретной ситуации.
Запись макроса или код
Мы упомянули, что макросы написаны на языке программирования VBA. Это факт, но для их использования или создания вам совсем не нужно знать этот язык. Microsoft предлагает нам средство записи макросов, которое может трансформировать несколько щелчков мышью в программе в код, написанный на VBA (Visual Basic for Applications).
При этом для использования макросов нужна вкладка «Разработчик» на ленте. Просто щелкните правой кнопкой мыши любую из вкладок, выберите в списке кнопку «Настроить ленту» и в открывшемся окне выберите в списке вкладку с именем «Разработчик». Отныне она будет постоянно отображаться в Excel.
Благодаря вкладке «Разработчик» у нас есть быстрый доступ к инструментам, полезным для работы с макросами. Также можно использовать кнопку «Зарегистрировать макрос», которая открывает окно диктофона. Мы введем в него имя макроса, например Cell_formatting, сочетание клавиш, если захотим, расположение макроса и описание (необязательно). После нажатия кнопки «ОК» начнется запись - с этого момента каждое движение, сделанное в Excel, будет записываться и переводиться в VBA.
Короткий макрос форматирования ячеек записывается следующим образом:
- выровнять текст по центру ячейки
- черный цвет фона
- белый цвет шрифта
- жирный шрифт
- размер шрифта 20.
Так команды, вводимые с помощью мыши, переводятся в VBA.
Использование диктофона имеет преимущество, вам не нужно знать VBA для создания макроса, но оно также имеет ограничения. Во-первых, не каждое действие в Excel можно записать, во-вторых, при записи даже очень простых действий генерируется большой объем кода, что сильно влияет на читаемость и скорость работы программы.
Написав команды на VBA вручную, мы получим гораздо лучше читаемый код, занимающий меньше места, выполняющийся быстрее, и мы не ограничиваемся только тем, что можно «щелкнуть» в программе. При написании макросов от руки единственным ограничением является наша голова и знание языка VBA.

Запуск макросов
Стандартный вариант - выбрать макрос из списка доступных макросов. Чтобы отобразить окно макросов, просто перейдите на вкладку «Разработчик», нажмите кнопку «Макросы» и выберите любой из них.
Что мы можем делать с макросами?
- запускать их (т.е. выполнять записанные операции)
- редактировать
- удалять
- устанавливать горячую клавишу (кнопка «Параметры»)

Макрос автоматизирует работу, то есть выполняет несколько действий, шаг за шагом, намного быстрее, чем мы делали бы это вручную.
Другими способами запуска макросов являются, например, подключение к сочетанию клавиш, подключение к выделенной кнопке, которую можно нарисовать в программе, или запуск макроса, например, после нажатия на изображение.
Несколько шагов, которые макрос сделал за нас, произошли относительно быстро. Но возможно ли это быстрее? Естественно! Макрос работает таким образом, что каждая строка кода выполняется в порядке сверху вниз.
Каждая строка имеет значение и влияет на производительность. Мы видим, что запись более сложных действий увеличивает код в несколько раз. Чтобы этого не произошло, код следует оптимизировать, т.е. выкинуть из него строки, которые на данный момент не нужны.
Рекомендации по использованию макросов
Дают ли макросы только преимущества? Как и все в мире, у макросов есть свои преимущества (ускорение работы, автоматизация, выполнение вещей, которые невозможно сделать на уровне Excel), но также и недостатки. Последние включают риски, связанные с безопасностью.
Макросы – это мини-программы, которые могут запускать код. К сожалению, создаваемый кем-то код не всегда предназначен для того, чтобы помочь нам решить проблему или облегчить нашу работу. Бывает, что пользователи создают вредоносный код, который может заразить наш компьютер, подключившись к сайту и загрузив вредоносный файл.
С помощью макроса также можно удалить файлы с компьютера или выключить его. Поэтому к вопросу макросов стоит подойти со здравым смыслом, особенно если мы загружаем файл Excel из интернета и он содержит макросы - если мы не уверены, что источник, из которого мы загружаем файл, настоящий и надежный , такой файл лучше не открывать, потому что код выполняется так быстро, что, если он вредоносный, вы не успеете отреагировать до его выполнения.
Microsoft, конечно, знает об этих рисках, поэтому мы рекомендуем вам не включать содержимое в файлы, загруженные из интернета, у нас также есть специальные расширения файлов, которые говорят нам, с чем мы можем иметь дело.
Если мы сталкиваемся с файлом с расширением .xls или .xlsm , у нас должно возникнуть подозрение, что внутри может (но не обязательно) находиться макрос. Файл .xls - это более старый формат, файл .xlsm - более новый, оба из которых позволяют хранить в них макросы. Если мы столкнемся с форматом .xlsx , то можем быть уверены, что внутри нет макроса.
В прошлом макросы чаще всего использовались для создания инструментов для работы с данными, потому что сам Excel не предлагал таких инструментов. На данный момент программа включает в себя множество инструментов, то и дело появляются новые функции, также у нас есть надстройки, такие как Power Pivot или Power Query, которые кардинально меняют работу с большими наборами данных.
Стоит ли использовать макросы? Конечно, этому стоит научиться, но нужно делать это с умом.