Способы создания макросов в excel. VBA Excel. Макросы (запись, запуск, пример). Отображение вкладки "Разработчик" в ленте меню

Макросы позволяют существенно расширить возможности в программе Excel. Они автоматизируют рабочие процессы и берут большую часть рутинной работы пользователя на себя. Просто нужно научится пользоваться макросами и производительность труда возрастет в десятки раз!

Вам даже не нужно быть программистом и знать язык программирования «VBA» чтобы создавать свои макро-программы с помощью инструмента записи макросов.

Сначала надо включить панель разработчика. Для этого в меню «Файл» открываем группу опций «Параметры». В появившемся окне «Параметры Excel» открываем группу «Настройка ленты». Обратите внимание на правую колонку настроек под аналогичным названием «Настройка ленты». В ней следует отметить галочкой опцию «Разработчик» как показано ниже на рисунке:

Теперь нам доступна на ленте новая закладка «Разработчик» со всеми своими инструментами для автоматизации работы в Excel и создания макросов.

Применение VBA и макросов в Microsoft Excel

Макросы – это внутренние приложения, которые берут на себя всю рутинную работу, облегчая жизнь пользователю. Каждый пользователь может создать макрос без знания языков программирования. Для этого существует макрорекодер, который запускается с помощью кнопки «Запись макроса».

В этом режиме все действия пользователя макрорекодер в Excel записывает, переводя на язык программирования VBA-код в автоматическом режиме. После завершения записи мы получаем готовую программу, которая сама выполняет те действия, которые выполнял пользователь при записи.

Как записать готовый макрос в Excel? Очень просто:


С помощью макропрограмм можно увеличить производительность труда пользователя в десятки раз. Но чтобы использовать запись пользовательских макросов на все 100% следует соблюдать простые правила, которые существенно влияют на их качество в момент записи и эффективность при выполнении.



Как работать с макросами в Excel

5 простых советов, которые помогут в создании макросов без программирования. Воспользуйтесь этими простыми советами, которые позволяют быстро и просто создавать качественные макропрограммы автоматически:

1 Правильные имена в макросах.

Присваивайте макросам короткие, но содержательные имена. Когда вы войдете вкус, со временем вам придется создавать много макросов. При выборе в диалоговом окне их легче найти с короткими и содержательными названиями. Система VBA предоставляет вам возможность указать описание к имени. Обязательно используйте ее.

Имя макроса обязательно должно начинаться с букв и не может содержать пробелы, символы или знаки препинания. После первого символа, вы можете использовать больше букв, цифр или нижнее подчеркивание, но максимальная длина имени составляет 80 символов.

2 Используйте относительные (не абсолютные) адреса ячеек

Абсолютный адрес ячейки – это точное местонахождение курсора, когда информация о его размещении записывается в макро-адреса с жесткой привязкой к конкретной ячейке в момент записи. Абсолютные адреса ограничивают возможности макроса, если будут добавляться / удаляться данные на листе Excel или список данных будет становиться больше. Относительные средства не привязывают курсор к конкретному адресу ячейки.

По умолчанию в Excel включен режим «Абсолют», но вы можете изменить его, включив кнопку «Относительные ссылки» расположенную ниже под кнопкой «Запись макроса» на панели инструментов вкладки «Разработчик»:


3 Всегда начинайте запись с курсором в A1

Абсолютный отсчет ячеек, всегда ведется с исходного положения (адрес ячейки А1) – до адреса курсора с вашими данными. Если вы сохранили ваш макрос в книге личных макросов (рекомендуется так и делать), то вы можете использовать свою программу на других листах с аналогичными данными. Независимо от того, где ваш курсор позиционируется, когда вы начинаете запись макроса! Даже если он уже находится в ячейке A1, ваш первый макрос лучше записывать после нажатия клавиш должны быть Ctrl + Home.

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

4 Всегда перемещаться с клавиш направления в момент записи макроса

Используйте кнопки со стрелками для управления курсором (Ctrl + Up, и т.п.). Позиционируйте курсор, так чтобы вы могли добавить, изменить или удалить данные внутри таблицы по мере необходимости.

Использование мыши для навигации является более сложным и не так надежным в момент записи. Когда дело доходит до макросов, использовать мышь лучше только для вызова меню.

5 Создавайте макросы для конкретных небольших задач

Держите ваши макросы для небольших специфичных задач. Чем больше программный код в макросе, тем медленнее он работает, особенно если это требуется для выполнения многих функций или рассчитать много формул в большой электронной таблице.

Если вы запустите каждый процесс отдельно, вы можете быстро просмотреть результаты для проверки точности их выполнения.

Если нельзя разбить длинный макрос на короткие приложения, а требуется проверить его функциональность пошагово («отладкой»). Нажмите клавишу F8 каждый раз, когда вы хотите перейти к следующему шагу выполнения задачи. Процесс выполнения программы останавливается, когда он видит ошибку. Вы можете исправить ошибку, которую легко найти с помощью «отладки» или записать по-новому.

Грамотно организовать процесс работы в эксэле помогут такие объекты, как макросы в Excel.

Рассмотрим более подробно все особенности работы с данными объектами в пакете программ MS Office.

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

Что такое макросы и зачем они нужны

С макросами можно работать в любой из программ пакета MS Office. Прежде всего они нужны для того, чтобы грамотно организовать работу пользователя в программе.

Они необходимы, чтобы не выполнять однотипные задачи и действия по несколько десятков раз.

Их создание и использование поможет существенно сэкономить время и максимально автоматизировать роботу в программе.

Важно! Благодаря созданному макросу можно просто мгновенно выполнять работу, в то время, как выполнение вручную занимало бы много времени.

Его тело, по сути, состоит из инструкций, которые говорят программе о том, что необходимо делать, если пользователи выбирает тот или иной.

С понятием макроса можно также столкнуться в программе Ворд, но в Экселе он имеет несколько преимуществ:

  • Во-первых, он объединяет все инструкции в один полный сценарий выполнения, что позволяет оптимизировать нагрузку на программу и начать работать быстрее;
  • Вызвать его можно с помощью клавиши на панели инструментов или с помощью специальной комбинации клавиш . Это позволит пользователю не отрываться от клавиатуры в процессе работы;

Создание собственных макросов в Excel 2010, 2007, 2013

Рассмотрим более подробно примеры создания в Excel 2007, 2013:


  • Откройте документ, с которым работаете и для которого хотите создать макрос. К слову, каждая ячейка, над которой производится действие должна быть проработана;
  • Отобразите вкладку разработчика в ленте. Для этого откройте пункт меню «Файл» и откройте параметры, как показано на рисунке;

  • Затем выберите настройку ленты и добавьте окно разработчика в список основных окон, как это показано на рисунке ниже;

  • Теперь можно перейти непосредственно к созданию самого макроса пользователя. После его создания, каждая ячейка будет автоматизирована – это означает, что любая ячейка пользовательского документа будет выполнять однотипное действие, которое укажет пользователь;
  • Найдите во вкладке разработчика специальную клавишу для создания. Ее расположение указано на рисунке ниже;

  • Нажмите на клавишу. Появится окно создания, в котором необходимо указать имя, сочетание клавиш, с помощью которых он будет включаться. Также можно добавить короткое описание функционирования макроса. Это необходимо сделать, если у вас их слишком много, чтобы не запутаться;

  • Далее нажмите «ОК» . Окно закроется и начнется процесс записи. Для остановки записи, нажмите соответствующую клавишу на панели управления;
  • Теперь начните выполнять те действия, которые будут записаны в макрос. Каждая ячейка при этом может заполняться определенными данными.
    Можно также работать только с одной ячейкой, после записи и включения макроса эта же ячейка будет записываться согласно указанному алгоритму;
  • Не забудьте нажать кнопку остановки записи данных. После выполнения всех вышеприведенных действия он будет записан и сохранен в программе.

Как включать и работать с макросами в Excel

Для этого следуйте нижеприведенной инструкции:


  • На вкладке разработчика найдите кнопку под названием «Макросы» . Нажмите на нее;

  • Выберите нужный вам макрос из списка и нажмите кнопку «Выполнить» ;
  • Также запустить необходимый макрос можно с помощью сочетания клавиш, которое было указано пользователем на начальном этапе его создания;
  • После нажатия кнопки выполнить, все действия, которые были произведены во время записи, будут выполнены повторно.

Макрос удобнее всего использовать, когда определенная ячейка нуждается во многоразовом копировании.

Создание и удаление макросов

Макросы создаются с помощью языка программирования под названием Visual Basic (или просто аббревиатура VB).

При этом, процесс создания настолько автоматизирован, что его может создать даже пользователь, который никогда не сталкивался с программированием.

Впервые технология создания макросов в программе Эксель была усовершенствована и стала доступна для использования простыми юзерами в версии 2007-го года.

Удобнее всего их создавать в таких версиях Ворда: 2007, 2010, 2013.

Меню макросов

Макрос состоит из так называемых макрооператоров. Макрооператоры – это и есть тот набор действий, которые он должен выполнить в установленном пользователем порядке.

Существую разные типы операторов.

Некоторые даже могут выполнять те действия, которые связаны с выполнением.

В то же время практически девяносто процентов всех представленных в программе макрооператоров выполняют функции обычных кнопок и значков на панели инструментов программы.

Таким образом каждая ячейка будет выполнять свою работу.

Самый простой способ, чтобы начать создание собственного пользовательского макроса – это открыть средство записи.

Процесс создания сводится к тому, что пользователю необходимо запустить записывающее средство, затем повторить все действия, которые следует автоматизировать.

Макрос их переведет в язык программирования и запомнит все проделанные пользователем команды.

Чтобы удалить макрос, следуйте инструкции:


  1. Откройте окно управления с помощью клавиши «Макросы» на главной вкладке разработчика;
  2. Выберите необходимый вам объект и в правой части окна нажмите на кнопку удаления;

Для автоматизации повторяющихся задач в Microsoft Excel можно быстро записать макрос. Предположим, у вас есть даты в различном формате и вы хотите применить ко всем из них один формат. Это можно сделать с помощью макроса. Вы можете записать макрос, который применяет нужный формат, а затем запускать его при необходимости.

При записи макроса записываются все действия, описанные в Visual Basic для приложений (VBA) коде. Эти действия могут включать ввод текста или чисел, нажатие ячеек или команд на ленте или в меню, форматирование ячеек, строк или столбцов, а также импорт данных из внешнего источника, например Microsoft Access. Приложение Visual Basic (VBA) - это подмножество мощного языка программирования Visual Basic, которое входит в большинство приложений Office. Несмотря на то, что VBA обеспечивает возможность автоматизации процессов между приложениями Office, вам не нужно знать код VBA или программное программирование, если это нужно.

Важно знать, что при записи макроса регистрируются почти все ваши действия. Поэтому если вы допустите ошибку, например нажмете не ту кнопку, средство записи макросов зарегистрирует это действие. В таком случае можно снова записать всю последовательность или изменить код VBA. Поэтому перед записью процесса следует хорошо проработать его. Чем точнее вы запишете последовательность, тем более эффективно будет работать макрос.

Разработчик , которая по умолчанию скрыта, поэтому сначала нужно включить ее. Дополнительные сведения см. в статье Отображение вкладки "Разработчик" .

Запись макроса

На вкладке Разработчик щелкните Макросы , чтобы просмотреть макросы, связанные с книгой. Кроме того, можно нажать клавиши ALT+F8 . При этом откроется диалоговое окно Макрос .


Внимание:

Сведения о параметрах безопасности макросов и их значении.

Макросы можно запускать различными способами, например с помощью сочетания клавиш, графического объекта, панели быстрого доступа, кнопки или даже при открытии книги.

С помощью редактора Visual Basic можно изменять макросы, присоединенные к книге.

    назначить макрос .

    В поле Назначить макроса

Узнайте, как включать и отключать макросы в файлах Office.

Нажмите клавиши ALT+F11 .

Работа с записанным кодом в редакторе 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 , попросить помощи в сообществе Answers community , а также предложить новую функцию или улучшение на веб-сайте

Давайте рассмотрим способы создания макросов в Excel. Первым делом Вам необходимо проверить настройку безопасности для того, что бы макросы были включены, иначе ничего не получится. Перейдите главное меню «Сервис-Макрос-Безопасность »

Поставьте флажок уровня на низкую (при запуске книг с макросами Excel вопросов о блокировке не задает) или среднюю (будет выдаваться предупреждение). Для учебных целей можно установить безопасность на низкую. Перезапустите Excel.

В Excel есть два способа создания макроса:

  1. Записать с помощью соответствующего пункта меню
  2. Создать вручную

Первый способ легкий и не требует никаких знаний в программировании. Достаточно в главном меню выбрать Сервис- >Макрос->Начать запись…


В открывшемся окне записи макроса необходимо указать его имя, которое будет выводиться в списке доступных макросов, можно добавить описание (для чего макрос, автор и т.д.), присвоить клавишу для быстрого запуска и указать в какую книгу сохранить макрос. После нажатия «OK » начнется запись

Теперь, все что Вы будете делать в рабочей книге (добавлять, изменять, удалять, создавать сводные и т.д.) все будет записываться. Для примера напишите в ячейке B3=45, B4 = 5, а в В5 формулу «=В3+B4*10». Для остановки записи необходимо нажать соответствующую кнопку:

После завершения записи наш макрос появится в списке Сервис->Макрос->Макросы ( Alt+ F8)


Остается его только выбрать и нажать «Выполнить ».

Все действия, которые мы произвели во время записи, с точностью повторятся. Для проверки очистите лист и выполните макрос. Но такой способ не удобен и практически в дальнейшем применить запись невозможно т.к. отсутствует универсальность. Плюс в том, что мы записывая какие либо действия получаем готовый код, который в умелых руках становится универсальным и затачивается под необходимые задачи. Давайте рассмотрим, какой код был записан. Для этого нажмите кнопку «Изменить» в меню Сервис->Макрос->Макросы .

Откроется следующий код:

Sub Макрос1()
Range("B3").Select
ActiveCell.FormulaR1C1 = "45"
Range("B4").Select
ActiveCell.FormulaR1C1 = "5"
Range("B5").Select
ActiveCell.FormulaR1C1 = "=R[-2]C+R[-1]C*10"
Range("B6").Select
End Sub

Sub End Sub – все макросы запускаемые через меню Сервис->Макрос->Макросы начинаются с ключевого слова Sub (процедура). Далее следует название процедуры «Макрос1», оно же имя нашего макроса которое указывается в момент начала записи. Пустые скобки обязательны! Следует учесть, что «запускаемая» процедура не должна содержать никаких параметров, иначе макрос исчезнет из списка. Все процедуры в VB завершаются командой End Sub . Sub имеет дополнительные ключевые слова Private и Public , определяющие зону видимости процедуры. Об этом будет рассказано в следующих статьях.

Range(" B3"). Select – эта и последующие команды были записаны когда мы выделяли ячейки B3, B4, B5.

ActiveCell.FormulaR1C1 – команда записывающая значение или формулу в выделенную ячейку после знака равенства. Данная запись присвоения ячейке значения и формулы не очень удобна. На следующих уроках мы будем использовать свойство Cells объекта рабочего листа Worksheet.

Вот и все. Простейшие действия записаны, но вот только такую запись на практике не применить.

Второй способ, запись кода VBA вручную. Данный способ будет рассмотрен на следующем уроке и на всех последующих, будем работать только вторым способом.

Ну и напоследок, видео-демонстрация записи макроса.

Видео: Запись макроса в Excel

Всем доброго времени суток. На связи Алексей Гулынин. В данной статье я бы хотел рассказать о том, как записать макрос . В своих примерах я буду пользоваться Microsoft Excel 2007 , вы же можете пользоваться любой (желательно, что версия была не ниже моей). Зайдите в Excel, выберите Вид — Макросы — Запись макроса :

В версиях 2010 и 2013 панель может отличаться, но незначительно. Далее должно открыться вот такое диалоговое окно, которое называется "Запись макроса" :

Имя макроса задавайте в том случае, если это будет конечное решение, и вы в дальнейшем им собираетесь пользоваться. Если же вы собираетесь записать макрос для того, чтобы подсмотреть что-то (что вы забыли), тогда можно имя оставить как есть.

В имени макроса использовать запрещено: пробелы, знаки препинания, цифры в начале имени. Можно использовать: английские и русские буквы, цифры (не в начале), знак подчеркивания. Также запрещено называть макрос, имя которого будет совпадать с любым существующим объектом в Excel.
Для макроса можно задать сочетание клавиш, при нажатии на которую, он будет запускаться. На все макросы не нужно вешать горячие клавиши, нужно вешать только на те, которые мы часто будем использовать. Вообще способов запустить макрос много, как вариант, можно разместить на ленте (начиная с 2010 версии), в 2007 версии лента есть, но её нельзя редактировать, можно разместить на листе. Также макрос можно запускать по какому-нибудь событию. У горячих клавиш есть чувствительность, как к регистру, так и к раскладке , поэтому внимательно относитесь к тому, какую горячую клавишу назначить макросу. Можете ставить большие буквы, для этого придётся нажимать Ctrl + Shift + Ваша буква .

Если макрос сохранить в эту книгу, то он физически будет находиться в данном файле. Поэтому, когда файл закрыт, данный макрос будет недоступен. В каких случаях это оправдано делать: макрос требуется только для расчетов в этой книге и больше ни в каких других. Если данный макрос нужно будет использовать в других файлах (книгах) Excel, то данный файл придётся всегда держать открытым или постоянно открывать и закрывать, что совсем неудобно. Здесь нужно выбирать другой способ сохранения: личная книга макросов .

Это почти обычный файл, и называется он Personal.xlsb . Этот файл находится в папке XLStart , и открывается он в скрытом режиме. Пока мы в этот файл ничего не записали — его не существует. Как только что-то запишем — он появится. Всё что находится в папке XLStart запускается автоматически. Плюс здесь в том, что макрос, который вы записали в личную книгу будет всегда доступен (его не нужно будет постоянно открывать — закрывать). Обращаю ваше внимание на то, что он будет доступен только на данном компьютере.
Также можно к макросу добавить описание.

Давайте запишем следующий макрос, который будет создавать новый лист и в ячейку C4 будет записывать фразу Привет VBA . Причем надпись должна быть красным цветом и стиль оформления: полужирный. Нажимаем ОК .
Вставляем лист таким образом:

Теперь в ячейку С4 записываем фразу Привет VBA . Затем нажимаем Ctrl + Enter , чтобы остаться в этой же ячейке и применить к ней форматирование. Если мы нажмём просто Enter , то фокус перейдёт на другую ячейку (нам этого не нужно). Затем правой кнопкой щелкаем по ячейке и выбираем Формат ячеек и переходим на вкладку Шрифт , выбираем красный и цвет и делаем шрифт жирным:

Нажимаем OK . Теперь можно наш макрос завершать. Сделать это можно несколькими способами: Вид — Макросы — Остановить запись , также можно отключить в левом нижнем углу (в 2007 версии) в панели состояния (на 3 картинке видно). Был создан "Лист4". Давайте удалим его и с помощью макроса создадим новый лист. Для этого воспользуемся горячей клавишей, которую мы задали для макроса Ctrl + Shift + Ц . Убедитесь, что вы находитесь на русской раскладке. Если вы сделали всё правильно, то у вас должен был создаться новый лист с нужной нам записью.