Как запустить макрорекордер в Excel? Как записать, выполнить и просмотреть макрос?
Если Вы задались вопросом «Как запустить макрорекордер и записать макрос в Excel?» то эта статья для Вас. Рассмотрим процесс запуска макрорекордера и записи макроса в разных версиях Excel. Для большей определенности запишем макрос, выделяющий столбец «А» электронной таблицы.
Microsoft Excel 2003
Запускаем приложение, заходим в главное меню Сервис/Макрос и выбираем пункт «Начать запись…»
После выбора пункта меню «Начать запись» появляется окно, в котором присваиваем нашему макросу имя «Макрос1», сочетание горячих клавиш присваивать не будем, для сохранения выберем личную книгу макросов, описание оставим то, которое есть по умолчанию. Жмем ОК.
С этого момента все наши действия записываются макрорекордером, автоматически переводятся на язык программирования Visual Basic for Application и записываются в модуль личной книги макросов.
В самом начале статьи мы условились, что нашим действием будет выделение столбца «А», поэтому выделяем столбец и останавливаем запись выбором меню «Остановить запись», которая находится также в меню Сервис/Макрос.
Вот собственно и все, макрос записан.
Посмотрим теперь, как работает записанный нами макрос. Для этого снимем выделение со столбца, зайдем в меню Сервис/Макрос/Макросы либо нажмем сочетание клавиш Alt+F8, выберем из списка макрос с нашим названием «Макрос1» и нажмем кнопку «Выполнить». Обратите внимание, что с помощью этого окна можно не только запустить макрос, можно также внести изменения в его программный код, а также удалить макрос.
Результатом выполнения макроса станет выделенный столбец «А», строго в соответствии с тем действием, которое мы записали. Если записанный Вами макрос не запустился, то Вам следует изменить параметры системы безопасности.
Для просмотра программного кода записанного макроса, запускаем редактор Visual Basic через меню Сервис/Макрос/Редактор Visual Basic, либо нажатием сочетания клавиш Alt+F11. В открывшемся окне редактора видим новый модуль Module1 в проекте VBAProject(PERSONAL.XLS), в котором сохранен программный код записанного нами макроса.
Microsoft Excel 2007
Запускаем приложение. Кнопка «Начать запись…» в Excel 2007 расположена сразу в нескольких местах, самое доступное из которых в левом нижнем углу окна приложения, в строке состояния.
На вкладке «Разработчик» расположены все доступные инструменты для работы с макросами. О том как ее отобразить описано в статье «Работа с макросами VBA. Инструменты для работы с макросами«.
После нажатия, кнопка «Запись макроса» меняет свое название на «Остановить запись». Выполнение и просмотр кода макроса осуществляется точно также, как в Excel 2003.
Microsoft Excel 2010
В Excel 2010 расположение кнопок записи и остановки записи макроса абсолютно аналогичное версии Excel 2007. Это левый нижний угол окна приложения в строке состояния, вкладка «Вид» и вкладка «Разработчик». В этой версии Excel, редактор Visual Basic устанавливается как отдельный компонент пакета с наименованием «Общие средства Office» и называется «Visual Basic для приложений», поэтому если у Вас возникли проблемы с доступностью макрорекрордера или редактора Visual Basic, то Вам необходимо вернуться на этап установки пакета Microsoft Office и доустановить недостающий компонент. Кроме того, может возникнуть проблема при запуске самого макроса, связанная с настройками системы безопасности.
Как записать макрос макрорекордером? Как запустить макрос в Word и Excel?
Определение начальных условий
Задаем для макроса стартовые условия, то есть такие условия, которые должны соблюдаться во время воспроизведения записанного макроса. Выполнение или воспроизведение макроса означает отработку записанного в этом макросе программного кода. К примеру, Вам необходимо создать макрос, который будет устанавливать определенный формат ячейки либо форматировать текст, применяя к нему заданый шрифт, размер и цвет. Стартовыми условиями для этого макроса будет открытый документ с выделенным блоком текста (если это Word) и открытая книга с выбранным рабочим листом и выделенным диапазоном ячеек (если это Excel).
Стартовые условия для макроса необходимо задавать до того, как Вы запустите макрорекордер, потому что макрорекордер будет записывать абсолютно все действия, которые Вы осуществляете. Если Вы запустите макрорекордер, а только после этого откроете какой-либо документ и выделите текст, то эти действия станут частью макроса и на выходе получится макрос, всегда открывающий один и тот же документ и форматирующий один и тот же текст.
Запуск макрорекордера
Запускаем макрорекордер и присваиваем имя макросу.
При запуске макрорекордера Вы можете также назначить для запуска макроса сочетание «горячих клавиш», либо привязать макрос к какому-либо меню или панели инструментов (в зависимости от того, записываете ли Вы макрос в Excel или в Word).
Независимо от того, в каком приложении Вы работаете, запись нового макроса осуществляется одним и тем же способом. Для пакета приложений MS Office 2003 выбирается команда Сервис/Макрос/Начать запись. Для пакета приложений MS Office 2007 выбирается команда Вид/Макрос/Запись макроса. Диалоговое окно, позволяющее задать имя макросу и выбрать место его сохранения, может незначительно отличаться в зависимости от конкретного приложения.
Так выглядит диалоговое окно в Word 2007:
А так – диалоговое окно в Excel 2007:
Имена макросов должны начинаться с буквы, хотя могут содержать и числа. Имена не должны включать в себя пробелы и знаки препинания.
Выполнение действий
Выполняем действия, которые необходимо записать, чтобы впоследствии эти действия использовать.
Вы можете совершать любые действия, которые можно выполнить при помощи клавиатуры и мыши, включая выполнение уже записанных макросов, все эти действия будут записаны макрорекордером. Выполняемые Вами действия должны зависеть от задачи, которую Вам необходимо выполнить.
Остановка макрорекордера
Когда вы останавливаете макрорекордер, Ваши действия перестают записываться и больше не сохраняются в теле макроса. После остановки макрорекордера новый записанный макрос сразу готов к использованию.
Пуск записанного макроса
Запускаем новый макрос. После того, как Вы записали рекордером макрос, этот макрос можно выполнить. Если у Вас установлен MS Office 2003, то макрос запускается выбором команды Сервис/Макрос/Макросы. Если используется MS Office 2007, то – Вид/Макросы. Для того тобы запустить макрос, можно использовать также и горячие клавиши Alt+F8. В появившемся диалоговом окне по названию выбирается необходимый макрос и нажимается кнопка «Выполнить». Вы можете также назначить макросу кнопку или графический объект, помещенный непосредственно на рабочий лист Excel либо в документ Word.
С помощью макрорекордера, как правило, можно записать лишь самые простейшие макросы, но уже и это может существенно упростить и облегчить Вам выполнение однообразных, часто повторяющихся действий. Если Вам удалось записать с помощью макрорекордера макрос и удачно запустить, примите мои поздравления! Но что делать, если записанный макрос не запускается?
Если же у Вас уже есть программный код макроса, скопированный например из всемирной сети и Вы не знаете как применить его на своем компьютере, то переходите к следующему методу записи макросов, условно его можно назвать копированием с последующей вставкой и сохранением программного кода в модуль проекта, расположенного на Вашем компьютере.
Как создать макрос в Excel
Эту статью я хочу посвятить такому огромному разделу MS Excel как макросы, а точнее начнем сначала и рассмотрим как создать макрос в Excel, для чего он нужен и как его использовать в своей работе.
Как вы знаете из собственного опыта, при работе с макросом есть очень много «рутинны», то есть производятся одни и те же операции и действия которые нужны для получения результата, это могут быть заполнение однотипных таблиц ну или бланков, обработка данных, похожие как близнецы еженедельные, ежемесячные отчёты, создание дашбордов и т.д. А вот использование макросов позволит вам производить эти действия в автоматическом режиме, используя возможности Excel на полную катушку, скидая эти рутинные и монотонные операции на мощные плечи Excel. Также причиной использования макросов может быть добавления нужных возможностей, которые еще не реализованы в стандартных функциях Excel (например, вывод суммы прописью, сбор данных на одном листе и прочее).
Если вы никогда не слышали о макросе, то самым точным его определением будет таким, это действия которые запрограммированы на определённую последовательность и записаны в среде программирования на языке Visual Basic for Applications (VBA). Запуск макроса может производиться многократно и это заставит Excel выполнять любую последовательность необходимых нам действий, которые вручную выполнять нам просто не нравится или не хочется. Несмотря на великое множество языков программирования для всего комплекса Microsoft Office стандартом является именно VBA и он работает в любом приложении офисного пакета.
Итак, создать макрос в Excel возможно 2 способами:
Создать макрос в Excel с помощью макрорекордера
Для начала проясним, что собой представляет макрорекордер и при чём тут макрос.
Макрорекордер – это вшитая в Excel небольшая программка, которая интерпретирует любое действие пользователя в кодах языка программирования VBA и записывает в программный модуль команды, которые получились в процессе работы. То есть, если мы при включенном макрорекордере, создадим нужный нам ежедневный отчёт, то макрорекордер всё запишет в своих командах пошагово и как итог создаст макрос, который будет создавать ежедневный отчёт автоматически.
Этот способ очень полезен тем, кто не владеет навыками и знаниями работы в языковой среде VBA. Но такая легкость в исполнении и записи макроса имеет свои минусы, как и плюсы:
Для включения макрорекордера на запись необходимо произвести следующие действия:
Следующим шагом в работе с макрорекордером станет настройка его параметров для дальнейшей записи макроса, это можно произвести в окне «Запись макроса», где: 
После того как вы запустили и записали свой макрос, выполнив все нужные действия, запись можно прекратить командой «Остановить запись» и ваш макрос с помощью макрорекордера будет создан.
Создать макрос в Excel в редакторе Visual Basic.
В этом способе мы рассмотрим, как создать макрос в Excel через редактор программ на VBA который, как я говорил выше, встроен в любую версию Excel.
Запуск редактора программ на VBA происходит по-разному, в зависимости от версии вашей программы Excel:


Все наши макросы будут храниться в так называемых программных модулях. В любой из книг любой версии Excel нам доступно создание любых программных модулей в любом количестве и размещать в них все созданные нами макросы. Один модуль в состоянии содержать в себе любое количество нужных вам или созданных макросов. Модули доступны в окне «Project Explorer» и размещаются в верхнем левом углу редактора макросов (так же его можно вызвать комбинацией клавиш CTRL+R).
Программные модули в редакторе VBA существуют в нескольких видах и используются для разных вариантов и ситуаций:
Собственно сам макрос при работе в стандартном модуле выглядит следующим образом: 
Рассмотрим на примере работающего макроса «Расширенный фильтр»:
Как видите второй способ более труден в использовании и понимании, если у вас отсутствует опыт в программировании вообще или в частности в VBA. Очень сложно понять и разобраться какие команды и как вводятся, какие аргументы он использует для того чтобы макрос начал выполнять свою работу в автоматическом режиме. Но дорогу осилит идущий, как говорили древние мудрецы и поэтому и вам не стоит опускать руки, а следовать заповедям дедушки Ленина…
Создание кнопки для запуска макросов в панели инструментов
Как я говорил ранее вы можете вызывать процедуру макроса горячей комбинацией клавиш, но это очень утомительно помнить какую комбинацию кому назначена, поэтому лучше всего будет создание кнопки для запуска макроса. Кнопки создать, возможно, нескольких типов, а именно:
Создание графической кнопки на листе Excel
Данный способ доступен для любой из версий MS Excel и заключается он в том, что мы вынесем кнопку прямо на наш рабочий лист как графический объект. Для этого вам нужно:

Как создать пользовательские функции на VBA
В принципе, создание, так называемых, пользовательских функций не особо отличаются от создания обычного макроса в стандартном программном модуле. Разница между этими понятиями заключается в том что макрос будет выполнять заложенные в нём действия с объектами книги или листа (это формулы, ячейки, диаграммы и т.д), а вот пользовательская функция работает только со значениями которые она получает от нас и являются аргументами они же начальные данные для вычислений.
К примеру, для создания пользовательской функции налога на добавленную стоимость, он же НДС, нам нужно открыть наш редактор VBA и добавить новый модуль, выбрать в меню «Insert» пункт «Module» и ввести туда текст для нашей функции: 



P.S. Если вам очень интересно как работает макрос и где он применяется. С примерами вы сможете ознакомиться у меня на сайте в следующих статьях:
Не забудьте поблагодарить автора!
Не уметь переносить бедность постыдно; не уметь избавиться от неё трудом – ещё постыднее. Перикл
Как записать макрос в Excel? Пошаговая инструкция.
Что такое макрос?
Для начала немного о терминологии.
Записанный макрос можно будет запускать неограниченное количество раз и Excel повторит все записанные шаги. Это означает, что даже если вы ничего не знаете о VBA, вы можете автоматизировать некоторые задачи, просто записав свои шаги и затем повторно использовать их позже.
Теперь давайте погрузимся и посмотрим, как записать макрос в Excel.
Отображение вкладки «Разработчик» в ленте меню
Перед тем как записывать макрос, нужно добавить на ленту меню Excel вкладку «Разработчик». Для этого выполните следующие шаги:
В результате на ленте меню появится вкладка «Разработчик»
Запись макроса в Excel
Теперь давайте запишем очень простой макрос, который выбирает ячейку и вводит в нее текст, например «Excel».
Вот шаги для записи такого макроса:
Поздравляем! Вы только что записали свой первый макрос в Excel. Хотя макрос не делает ничего полезного, но он поможет нам понять как работает макрорекордер в Excel.
Теперь давайте рассмотрим код который записал макрорекодер. Выполните следующие действия, чтобы открыть редактор кода:
Вы увидите, что как только вы нажмете кнопку «Выполнить», текст «Excel» будет вставлен в ячейку A2 и выбрана ячейка A3. Это происходит за миллисекунды. Но на самом деле макрос последовательно выполнил записанные действия.
Примечание. Вы также можете запустить макрос с помощью сочетания клавиш Ctrl + Shift + N (удерживайте клавиши Ctrl и Shift, а затем нажмите клавишу N). Это тот же самый ярлык, который мы назначили макросу при его записи.
Что записывает макрос?
Теперь перейдем к редактору кода и посмотрим что у нас получилось.
Вот шаги по открытию редактора VB в Excel:
Вы также можете использовать комбинацию клавиш Alt + F11 и перейти в редактор кода VBA.
Рассмотрим сам редактор кода. Далее коротко опишем интерфейс редактора.
Когда мы записали макрос «ВводТекста», в редакторе VB произошли следующие вещи:
Поэтому, если вы дважды щелкните по модулю (в нашем случае модуль 1), появится окно кода, как показано ниже.
Вот код, который записан макрорекодером:
Теперь давайте пробежим по каждой строке кода и опишем что и зачем.
Надеюсь, что у вас есть некоторое базовое понимание того, как записывать макрос в Excel.
Абсолютная и относительная запись макроса
Если вы используете параметр относительной ссылки для записи макроса, VBA не будет привязываться к конкретному адресу ячейки. В этом случае программа будет «двигаться» относительно активной ячейки. Например, предположим, что вы уже выбрали ячейку A1, и вы начинаете запись макроса в режиме относительной ссылки. Теперь вы выбираете ячейку A2, вводите текст Excel и нажмите клавишу Enter. Теперь, если вы запустите этот макрос, он не вернется в ячейку A2, вместо этого он будет перемещаться относительно активной ячейки. Например, если выбрана ячейка B3, она переместится на B4, запишет текст «Excel» и затем перейдет к ячейке K5.
Теперь давайте запишем макрос в режиме относительных ссылок:
Макрос в режиме относительных ссылок будет сохранен.
Теперь сделайте следующее.
Вот код, который записал макрорекодер:
Обратите внимание, что в коде нет ссылок на ячейки B3 или B4. Макрос использует Activecell для ссылки на текущую ячейку и смещение относительно этой ячейки.
Не обращайте внимание на часть кода Range(«A1»). Это один из тех случаев, когда макрорекодер добавляет ненужный код, который не имеет никакой цели и может быть удален. Без него код будет работать отлично.
Что нельзя сделать с помощью макрорекодера?
Макро-рекордер отлично подходит для вас в Excel и записывает ваши точные шаги, но может вам не подойти, когда вам нужно сделать что-то большее.
Расширение файлов Excel, которые содержат макросы
Когда вы записываете макрос или вручную записываете код VBA в Excel, вам необходимо сохранить файл с расширением файла с поддержкой макросов (.xlsm).
1.3 Применение макрорекордера
Макрорекордер в Word и Excel: запуск, приемы работы, возможности
В большинство программ Microsoft Office, таких, как Excel, Word, PowerPoint и т.п., встроено замечательное средство, которое позволит вам создавать программы, вообще ничего не зная о программировании. Это средство называется макрорекордером.
Макрорекордер, как понятно из его названия — средство для записи макросов. Макрос — всего лишь еще одно название для VBA-программы, а макрорекордер — средство для его автоматического создания.
Принцип работы макрорекордера больше всего похож на принцип работы магнитофона: мы нажимаем на кнопку — начинается запись тех действий, которые мы выполняем. Мы нажимаем на вторую кнопку — запись останавливается и мы можем ее проиграть (то есть повторно выполнить ту же последовательность действий).
Конечно, макрорекордер позволяет написать только самые простые VBA-программы. Однако и он может принести много пользы. Например, можно «положить» на горячие клавиши те слова, словосочетания, варианты оформления и т.п., которые вам часто приходится вводить (должность, название фирмы, продукт, ФИО директора и ответственного исполнителя и т.п.) — этим вы сэкономите много времени.
Как показывает опыт, подавляющее большинство обычных пользователей и не подозревает о существовании макрорекордера, несмотря на то, что его применение позволило бы сэкономить им множество времени.
Перед созданием макроса в макрорекордере:
необходимо очень тщательно спланировать макрос, хорошо продумав, что вы будете делать и в какой последовательности. Если есть возможность, продумайте подготовительные действия. Например, если нужно вставлять текущую дату в начало документа, может быть, есть смысл первой командой макроса сделать переход на начало документа ( + );
если собираетесь при помощи макроса менять оформление текста, то правильнее вначале создать новый стиль с вашим оформлением, а потом уже применять этот стиль к тексту. В этом случае опять-таки можно обойтись без макроса, просто назначив стиль комбинации клавиш.
Как создать макрос в макрорекордере (для тех программ Microsoft Office, для которых такое средство предусмотрено, например, Word, Excel, PowerPoint, Project):
В меню Сервис->Макрос выберите команду Начать запись. В открывшемся окне вам потребуется определить:
Имя макроса. Правила такие: не должно начинаться с цифры, не должно быть пробелов и символов пунктуации. Максимальная длина в Excel — 64 символа, в Word — 80 символов. Можно писать по-русски.
Будет ли макрос назначен кнопке на панели управления или комбинации клавиш. Назначить макрос кнопке/комбинации клавиш и использовать другие средства для его вызова можно и потом — об этом будет рассказано в следующем разделе.
Где сохранить макрос. В Word в вашем распоряжении текущий файл и шаблон для всех вновь создаваемых документов — normal.dot. В Excel в вашем распоряжении текущая книга, возможность создать макрос одновременно с созданием новой книги и личная книга макросов personal. xls (макросы из этой скрытой книги будут доступны в любых книгах). Подробнее про то, где может храниться программный код, мы поговорим в разделе про структуру проектов VBA.
Описание. Лучше заполнить — это подарок не только для других, но и для себя (через несколько месяцев).
После нажатия на кнопку OK или назначения кнопки/клавиатурной комбинации начнется запись макроса. Указатель мыши при этом примет вид магнитофонной кассеты и появится маленькая панель Остановить запись. На ней всего две кнопки — Остановить запись и Пауза. Если вы случайно закрыли эту панель, остановить запись можно через меню Сервис->Макрос->Остановить запись.
Если у вас уже есть значительное количество созданных при помощи макрорекордера макросов, то после освоения языка VBA есть смысл подумать над ними и, может быть, внести изменения. Чаще всего есть смысл подумать над следующими моментами:
если в вашем макросе повторяются какие-либо действия, возможно, есть смысл организовать цикл;
может быть, есть смысл в ходе выполнения уточнить что-либо у пользователя (при помощи Input Box или элементов управления);
чтобы в ходе выполнения макроса не возникало ошибок, возможно, есть смысл реализовать в нем проверку текущих условий.
Как все это сделать — будет рассказано в следующих главах.
И еще один очень важный момент, связанный с макрорекордером. Помимо того, что он позволяет создавать простенькие программы, пригодные для самостоятельного использования безо всяких доработок, макрорекордер — это еще и ваш разведчик в мире объектных моделей приложений Office. Опытные разработчики часто пользуются им для того, чтобы понять, какие объекты из огромных объектных моделей приложений Office можно использовать для выполнения тех или иных действий.
















