Как вставить макрос в эксель


Как записать макрос в Excel? Пошаговая инструкция

Для начала немного о терминологии. 

Макрос - это код, написанный на встроенном в Excel языке VBA (Visual Basic for Application). Макросы могут создаваться как вручную, так и записываться автоматически с помощью так называемого макрорекодера.

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

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

Теперь давайте погрузимся и посмотрим, как записать макрос в Excel.

Отображение вкладки "Разработчик" в ленте меню

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

  1. Щелкните правой кнопкой мыши по любой из существующих вкладок на ленте и нажмите «Настроить ленту». Он откроет диалоговое окно «Параметры Excel».
  2. В диалоговом окне «Параметры Excel» у вас будут параметры «Настроить ленту». Справа на панели «Основные вкладки» установите флажок «Разработчик».
  3. Нажмите «ОК».

В результате на ленте меню появится вкладка "Разработчик"

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

Теперь давайте запишем очень простой макрос, который выбирает ячейку и вводит в нее текст, например "Excel".

Вот шаги для записи такого макроса:

  1. Перейдите на вкладку "Разработчик".
  2. В группе "Код" нажмите кнопку "Запись макроса". Откроется одноименное диалоговое окно.
  3. В диалоговом окне "Запись макроса" введите имя для своего макроса, например "ВводТекста". Есть несколько условий именования, которые необходимо соблюдать при назначении макроса. Например, вы не можете использовать пробелы между ними. Обычно я предпочитаю сохранять имена макросов как одно слово, с разными частями с заглавным первым алфавитом. Вы также можете использовать подчеркивание для разделения двух слов - например, "Ввод_текста".
  4. Если вы хотите, то можете задать сочетание клавиш. В этом случае мы будем использовать ярлык Ctrl + Shift + N. Помните, что сочетание, которое вы указываете, будет отменять любые существующие горячие клавиши в вашей книге. Например, если вы назначили сочетание Ctrl + S, вы не сможете использовать это для сохранения рабочей книги (вместо этого, каждый раз, когда вы его используете, он выполняет макрос).
  5. В поле "Сохранить в" убедитесь, что выбрана опция "Эта книга". Этот шаг гарантирует, что макрос является частью рабочей книги. Он будет там, когда вы сохраните его и снова откроете, или даже если вы поделитесь файлом с кем-то.
  6. Введите описание при необходимости. Обычно я этого не делаю, но если у вас много макросов, лучше указать, чтобы в будущем не забыть что делает макрос.
  7. Нажмите "ОК". Как только вы нажмете OK, Excel начнет записывать ваши действия. Вы можете увидеть кнопку "Остановить запись" на вкладке "Разработчик", которая указывает, что выполняется запить макроса.
  8. Выберите ячейку A2.
  9. Введите текст "Excel" (или вы можете использовать свое имя).
  10. Нажмите клавишу Enter. Вы попадете на ячейку A3.
  11. Нажмите кнопку "Остановить запись" на вкладке "Разработчик".

Поздравляем! Вы только что записали свой первый макрос в Excel. Хотя макрос не делает ничего полезного, но он поможет нам понять как работает макрорекордер в Excel. 

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

  1. Удалите текст в ячейке A2. Это нужно, чтобы проверить будет ли макрос вставлять текст в ячейку A2 или нет.
  2. Выберите любую ячейку - кроме A2. Это нужно проверить, выбирает ли макрос ячейку A2 или нет.
  3. Перейдите на вкладку "Разработчик".
  4. В группе "Код" нажмите кнопку "Макросы".
  5. В диалоговом окне "Макрос" щелкните макрос "ВводТекста".
  6. Нажмите кнопку "Выполнить".

Вы увидите, что как только вы нажмете кнопку "Выполнить", текст "Excel" будет вставлен в ячейку A2 и выбрана ячейка A3. Это происходит за миллисекунды. Но на самом деле макрос последовательно выполнил записанные действия.

Примечание. Вы также можете запустить макрос с помощью сочетания клавиш Ctrl + Shift + N (удерживайте клавиши Ctrl и Shift, а затем нажмите клавишу N). Это тот же самый ярлык, который мы назначили макросу при его записи.

Что записывает макрос?

Теперь перейдем к редактору кода и посмотрим что у нас получилось.

Вот шаги по открытию редактора VB в Excel:

  1. Перейдите на вкладку "Разработчик".
  2. В группе "Код" нажмите кнопку "Visual Basic".
     

Вы также можете использовать комбинацию клавиш Alt + F11 и перейти в редактор кода VBA.

Рассмотрим сам редактор кода. Далее коротко опишем интерфейс редактора.

  • Панель меню: содержит команды, которые можно использовать во время работы с редактором VB.
  • Панель инструментов - похожа на панель быстрого доступа в Excel. Вы можете добавить к ней дополнительные инструменты, которыми часто пользуетесь.
  • Окно проектов (Project Explorer) - здесь Excel перечисляет все книги и все объекты в каждой книге. Например, если у нас есть книга с 3 рабочими листами, она появится в Project Explorer. Здесь есть несколько дополнительных объектов, таких как модули, пользовательские формы и модули классов.
  • Окно кода - собственно сам код VBA размещается в этом окне. Для каждого объекта, указанного в проводнике проекта, есть окно кода, например, рабочие листы, книги, модули и т. д. В этом уроке мы увидим, что записанный макрос находится в окне кода модуля.
  • Окно свойств - вы можете увидеть свойства каждого объекта в этом окне. Я часто использую это окно для обозначения объектов или изменения их свойств. 
  • Immediate Window (окно предпросмотра) - На начальном этапе оно вам не пригодится. Оно полезно, когда вы хотите протестировать шаги или во время отладки. Он по умолчанию не отображается, и вы можете его отобразить, щелкнув вкладку «View» и выбрав опцию «Immediate Window».

Когда мы записали макрос "ВводТекста", в редакторе VB произошли следующие вещи:

  • Был добавлен новый модуль.
  • Макрос был записан с именем, которое мы указали - "ВводТекста"
  • В окне кода добавлена новая процедура.

Поэтому, если вы дважды щелкните по модулю (в нашем случае модуль 1), появится окно кода, как показано ниже.

 

Вот код, который записан макрорекодером:


 Sub ВводТекста()
 '
 ' ВводТекста Макрос
 '
 
 '
     Range("A2").Select
     ActiveCell.FormulaR1C1 = "Excel"
     Range("A3").Select
 End Sub
 

В VBA, любая строка , которая следует за ' (знак апострофа) не выполняется. Это комментарий, который предназначен только для информационных целей. Если вы удалите первые пять строк этого кода, макрос по-прежнему будет работать.

Теперь давайте пробежим по каждой строке кода и опишем что и зачем. 

Код начинается с Sub, за которым следует имя макроса и пустые круглые скобки. Sub - сокращение для подпрограммы. Каждая подпрограмма (также называемая процедурой) в VBA начинается с Sub и заканчивается End Sub.

  • Range("A2").Select - эта строка выбирает ячейку A2.
  • ActiveCell.FormulaR1C1 = «Excel» - эта строка вводит текст "Excel" в активной ячейке. Поскольку мы выбрали ячейку A2 в качестве первого шага, она становится нашей активной ячейкой.
  • Range("A3").Select - выбор ячейки A3. Это происходит, когда мы нажимаем клавишу Enter после ввода текста, результатом которого является выбор ячейки A3.

Надеюсь, что у вас есть некоторое базовое понимание того, как записывать макрос в Excel.

Обращаем внимание, что код, записанный через макрорекордер, как правило, не является эффективным и оптимизированным кодом. Макрорекордер часто добавляет дополнительные ненужные действия. Но это не значит, что не нужно пользоваться макрорекодером. Для тех, кто только изучает VBA , макрорекордер может быть отличным способом проанализировать и понять как все работает в VBA.

Абсолютная и относительная запись макроса

Вы уже знаете про абсолютные и относительные ссылки в Excel? Если вы используете абсолютную ссылку для записи макроса, код VBA всегда будет ссылаться на те же ячейки, которые вы использовали. Например, если вы выберете ячейку A2 и введете текст "Excel", то каждый раз - независимо от того, где вы находитесь на листе и независимо от того, какая ячейка выбрана, ваш код будет вводить текст "Excel" в ячейку A2.

Если вы используете параметр относительной ссылки для записи макроса, VBA не будет привязываться к конкретному адресу ячейки. В этом случае программа будет "двигаться" относительно активной ячейки. Например, предположим, что вы уже выбрали ячейку A1, и вы начинаете запись макроса в режиме относительной ссылки. Теперь вы выбираете ячейку A2, вводите текст Excel и нажмите клавишу Enter. Теперь, если вы запустите этот макрос, он не вернется в ячейку A2, вместо этого он будет перемещаться относительно активной ячейки. Например, если выбрана ячейка B3, она переместится на B4, запишет текст "Excel" и затем перейдет к ячейке K5.

Теперь давайте запишем макрос в режиме относительных ссылок:

  1. Выберите ячейку A1.
  2. Перейдите на вкладку "Разработчик".
  3. В группе "Код" нажмите кнопку "Относительные ссылки". Он будет подсвечиваться, указывая, что он включен.
  4. Нажмите кнопку "Запись макроса".
  5. В диалоговом окне "Запись макроса" введите имя для своего макроса. Например,  имя "ОтносительныеСсылки".
  6. В опции "Сохранить в" выберите "Эта книга".
  7. Нажмите "ОК".
  8. Выберите ячейку A2.
  9. Введите текст "Excel" (или другой как вам нравится).
  10. Нажмите клавишу Enter. Курсор переместиться в ячейку A3.
  11. Нажмите кнопку "Остановить запись" на вкладке "Разработчик".

Макрос в режиме относительных ссылок будет сохранен.

Теперь сделайте следующее.

  1. Выберите любую ячейку (кроме A1).
  2. Перейдите на вкладку "Разработчик".
  3. В группе "Код" нажмите кнопку "Макросы".
  4. В диалоговом окне "Макрос" кликните на сохраненный макрос "ОтносительныеСсылки".
  5. Нажмите кнопку "Выполнить".

Как вы заметите, макрос записал текст "Excel" не в ячейки A2. Это произошло, потому что вы записали макрос в режиме относительной ссылки. Таким образом, курсор перемещается относительно активной ячейки. Например, если вы сделаете это, когда выбрана ячейка B3, она войдет в текст Excel - ячейка B4 и в конечном итоге выберет ячейку B5.

Вот код, который записал макрорекодер:


 Sub ОтносительныеСсылки()
 '
 ' ОтносительныеСсылки Макрос
 '
 
 '
     ActiveCell.Offset(1, 0).Range("A1").Select
     ActiveCell.FormulaR1C1 = "Excel"
     ActiveCell.Offset(1, 0).Range("A1").Select
 End Sub
 

Обратите внимание, что в коде нет ссылок на ячейки B3 или B4. Макрос использует Activecell для ссылки на текущую ячейку и смещение относительно этой ячейки.

Не обращайте внимание на часть кода Range(«A1»). Это один из тех случаев, когда макрорекодер добавляет ненужный код, который не имеет никакой цели и может быть удален. Без него код будет работать отлично.

Что нельзя сделать с помощью макрорекодера?

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

  • Вы не можете выполнить код без выбора объекта. Например, если вы хотите, чтобы макрос перешел на следующий рабочий лист и выделил все заполненные ячейки в столбце A, не выходя из текущей рабочей таблицы, макрорекодер не сможет этого сделать. В таких случаях вам нужно вручную редактировать код.
  • Вы не можете создать пользовательскую функцию с помощью макрорекордера. С помощью VBA вы можете создавать пользовательские функции, которые можно использовать на рабочем листе в качестве обычных функций.
  • Вы не можете создавать циклы с помощью макрорекордера. Но можете записать одно действие, а цикл добавить вручную в редакторе кода. 
  • Вы не можете анализировать условия: вы можете проверить условия в коде с помощью макрорекордера. Если вы пишете код VBA вручную, вы можете использовать операторы IF Then Else для анализа условия и запуска кода, если true (или другой код, если false).

Расширение файлов Excel, которые содержат макросы

Когда вы записываете макрос или вручную записываете код VBA в Excel, вам необходимо сохранить файл с расширением файла с поддержкой макросов (.xlsm).

До Excel 2007 был достаточен один формат файла - .xls. Но с 2007 года .xlsx был представлен как стандартное расширение файла. Файлы, сохраненные как .xlsx, не могут содержать в себе макрос. Поэтому, если у вас есть файл с расширением .xlsx, и вы записываете / записываете макрос и сохраняете его, он будет предупреждать вас о сохранении его в формате с поддержкой макросов и покажет вам следующее диалоговое окно:

Если вы выберете "Нет", Excel сохранить файл в формате с поддержкой макросов. Но если вы нажмете "Да", Excel автоматически удалит весь код из вашей книги и сохранит файл как книгу в формате .xlsx. Поэтому, если в вашей книге есть макрос, вам нужно сохранить его в формате .xlsm, чтобы сохранить этот макрос.

Как запустить макрос в Excel разными способами

Если уже имеете код макроса записанный в рабочей книге или надстройке, можно его запустить и выполнить несколькими способами. Если еще нет кода макроса или вы еще не знаете, как его написать, тогда сначала прочитайте статью: Как написать макрос в Excel на языке программирования VBA.

В данной статье для Вас буде приведет пошаговый пример с картинками и фрагментом простейшего готового кода VBA.

Как выполнить макрос VBA в Excel

Например, самый простой способ запустить макрос для понимания, но сложный для реализации:

  1. Выберите инструмент: «РАЗРАБОТЧИК»-«Код»-«Макросы».
  2. В появившемся окне «Макрос» из списка всех в первую очередь доступных макросов для данной рабочей книги Excel выберите любой понравившийся вам и нажмите на кнопку «Выполнить».

Программа макроса выполнить свои функции.

Теперь мы можем двигаться от простого к еще простейшему) Ведь запускать макросы таким способом весьма неудобно. Далее рассмотрим более простые варианты.

Полезный совет! Если вы хотите отредактировать макрос тогда выберите его в списке выше описанного инструмента и нажмите на кнопку «Войти», а не используйте кнопку «Изменить». С помощью кнопки войти вы всегда сможете перейти к исходному коду выбранного макроса. Автоматически откроется редактор Visual Basic именно в том месте где написан код данного макроса. Кнопка «Изменить» к сожалению, не для всех макросов работает одинаково.

Внимание! Макросы, созданные в надстройках Excel, могут быть по умолчанию не доступны в списке диалогового окна «Макрос» в целях политики безопасности. Ведь имена макросов в надстройках Excel обычно скрыты от сторонних пользователей. Но если ввести правильно соответственное значение в поле «Имя макроса:» то все кнопки в диалоговом окне будут активными. А значит готовы к работе с данным макросом из надстройки и пользователь является автором надстройки или доверительным лицом.



Запуск макроса с помощью горячих клавиш

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

Чтобы присвоить свою комбинацию клавиш для определенного макроса следует сделать так:

  1. Снова выберите инструмент: «РАЗРАБОТЧИК»-«Код»-«Макросы».
  2. В появившемся диалоговом окне «Макрос» выберите желаемую макропрограмму из списка и нажмите на кнопку «Параметры».
  3. В появившемся диалоговом окне «Параметры макроса» в поле ввода «Сочетание клавиш: CTRL+» введите маленькую или большую латинскую букву. И нажмите на кнопку ОК.

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

Обратите внимание! В диалоговом окне «Параметры макроса» доступно поле для ввода его описания. Данное описание будет доступно внизу при выборе макроса из списка. Рекомендуем всегда подписывать свои макросы. Такой пользовательский тон этики работы с Excel будет высоко оценен, когда список пополниться десятками макросов.

Полезный совет! Старайтесь не использовать популярные комбинации горячих клавиш для работы с Excel: CTRL+S; CTRL+A; CTRL+T; CTRL+C; CTRL+V; CTRL+SHIFT+L и т.п. Ведь тогда их предназначение будет изменено. В окне «Параметры макроса» так же присутствует возможность использовать в комбинациях клавиш клавишу SHIFT. Как только вы придадите фокус клавиатуры для поля ввода «Сочетание клавиш: CTRL+» и попытаетесь ввести большую букву для комбинации, естественно с использованием клавиши SHIFT на клавиатуре, сразу название поля ввода поменяется на «Сочетание клавиш: CTRL+ SHIFT+».

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

Как запустить макрос на панели быстрого доступа

Excel позволяет пользователям запускать макросы с помощью панели быстрого доступа к инструментам. Данная панель по умолчанию находиться в самом верху окна программы.

Чтобы запустить макрос с помощью панели быстрого доступа, требуется сделать так:

  1. Щелкните на самую последнюю кнопку на панели быстрого доступа (стрелка вниз), чтобы получить доступ к меню «Настроить панель», в котором необходимо выбрать опцию «Другие команды». В результате чего откроется окно «Параметры Excel», к которому можно было получить доступ и другим путем: «ФАЙЛ»-«Параметры»-«Панель быстрого доступа». Или щелкнув правой кнопкой мышки по любой панели Excel на любой закладке и выбрать опцию «Настройка панели быстрого доступа».
  2. В левом выпадающем списке «Выбрать команду из:» выберите опцию «Макросы».
  3. В левом списке элементов ниже выберите необходимый макрос и нажмите на кнопку «Добавить». В результате чего в правом списке элементов появиться кнопка для нового инструмента быстрого запуска вашего макроса. Справа от правого списка элементов можно использовать стрелки для настройки положения и порядка расположения кнопок инструментов на панели быстрого доступа. И нажмите ОК.

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

Полезный совет! Чтобы изменить внешний вид кнопки для макроса в окне «Параметры Excel»-«Панель быстрого доступа», из правого списка элементов «Настройка панели быстрого доступа» следует выделить макрос и нажать на кнопку «Изменить». Будет предложена небольшая галерея иконок для нового оформления внешнего вида кнопки запуска макроса с панели инструментов.

Главным недостатком размещения кнопки с макросом на панели инструментов является то, что кнопка будет всегда доступна для других файлов, даже когда файл с этим макросом будет закрыт. И если в такие случаи нажать на кнопку запуска макроса, тогда откроется файл где он находиться и только потом выполниться VBA код.

Запуск макроса с помощью кнопки на рабочем листе Excel

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

  1. Выберите инструмент: «РАЗРАБОТЧИК»-«Элементы управления»-«Вставить»-«Кнопка (элемент управления формы».
  2. Выделите курсором мышки место где и как будет вставлена кнопка для запуска макроса.
  3. В появившемся окне «Назначить макрос объекту» из списка доступным макросов выберите желаемый и нажмите на кнопку ОК.
  4. Теперь нужно назначить кнопку макросу. Правой кнопкой мышки щелкните по созданной кнопке и в появившемся контекстном меню выберите опцию «Изменить текст». Удалите старый и введите новый текст «Мой макрос».

После создания кнопки можно ее настроить, изменив ее размеры и положение на листе. Для этого снова щелкните правой кнопкой мышки по кнопке, а потом нажмите клавишу Esc на клавиатуре, чтобы скрыть контекстное меню. У кнопки появляться маркеры, с помощью которых можно изменять ее размеры. Наведите курсор мышки на любой маркер на гранях или углах кнопки и удерживая левую клавишу мышки перетягивайте, изменяя таким образом ее размеры. Теперь нажмите на кнопку левой кнопкой мышки и удерживая ее перемещайте кнопку по листу документа Excel в любое другое место. Чтобы затвердить все изменения кнопки сделайте щелчок левой кнопкой мышки в любую область листа (например, по любой ячейке) вне области кнопки.

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

Создание макросов и пользовательских функций на VBA

Введение

Всем нам приходится - кому реже, кому чаще - повторять одни и те же действия и операции в Excel. Любая офисная работа предполагает некую "рутинную составляющую" - одни и те же еженедельные отчеты, одни и те же действия по обработке поступивших данных, заполнение однообразных таблиц или бланков и т.д. Использование макросов и пользовательских функций позволяет автоматизировать эти операции, перекладывая монотонную однообразную работу на плечи Excel. Другим поводом для использования макросов в вашей работе может стать необходимость добавить в Microsoft Excel недостающие, но нужные вам функции. Например функцию сборки данных с разных листов на один итоговый лист, разнесения данных обратно, вывод суммы прописью и т.д.

Макрос - это запрограммированная последовательность действий (программа, процедура), записанная на языке программирования Visual Basic for Applications (VBA). Мы можем запускать макрос сколько угодно раз, заставляя Excel выполнять последовательность любых  нужных нам действий, которые нам не хочется выполнять вручную.

В принципе, существует великое множество языков программирования (Pascal, Fortran, C++, C#, Java, ASP, PHP...), но для всех программ пакета Microsoft Office стандартом является именно встроенный язык VBA. Команды этого языка понимает любое офисное приложение, будь то Excel, Word, Outlook или Access.

Способ 1. Создание макросов в редакторе Visual Basic

Для ввода команд и формирования программы, т.е. создания макроса необходимо открыть специальное окно - редактор программ на VBA, встроенный в Microsoft Excel.

  • В старых версиях (Excel 2003 и старше) для этого идем в меню Сервис - Макрос - Редактор Visual Basic (Toos - Macro - Visual Basic Editor).
  • В новых версиях (Excel 2007 и новее) для этого нужно сначала отобразить вкладку Разработчик (Developer). Выбираем Файл - Параметры - Настройка ленты (File - Options - Customize Ribbon) и включаем в правой части окна флажок Разработчик (Developer). Теперь на появившейся вкладке нам будут доступны основные инструменты для работы с макросами, в том числе и нужная нам кнопка Редактор Visual Basic (Visual Basic Editor)

    :

К сожалению, интерфейс редактора VBA и файлы справки не переводятся компанией  Microsoft на русский язык, поэтому с английскими командами в меню и окнах придется смириться:

Макросы (т.е. наборы команд на языке VBA) хранятся в программных модулях. В любой книге Excel мы можем создать любое количество программных модулей и разместить там наши макросы. Один модуль может содержать любое количество макросов. Доступ ко всем модулям осуществляется с помощью окна Project Explorer в левом верхнем углу редактора (если его не видно, нажмите CTRL+R). Программные модули бывают нескольких типов для разных ситуаций:

  • Обычные модули - используются в большинстве случаев, когда речь идет о макросах. Для создания такого модуля выберите в меню Insert - Module. В появившееся окно нового пустого модуля можно вводить команды на VBA, набирая их с клавиатуры или копируя их из другого модуля, с этого сайта или еще откуда нибудь:

  • Модуль Эта книга - также виден в левом верхнем углу редактора Visual Basic в окне, которое называется Project Explorer. В этот модуль обычно записываются макросы, которые должны выполнятся при наступлении каких-либо событий в книге (открытие или сохранение книги, печать файла и т.п.):

  • Модуль листа - доступен через Project Explorer и через контекстное меню листа, т.е. правой кнопкой мыши по ярлычку листа - команда Исходный текст (View Source). Сюда записывают макросы, которые должны выполняться при наступлении определенных событий на листе (изменение данных в ячейках, пересчет листа, копирование или удаление листа и т.д.)

 Обычный макрос, введенный в стандартный модуль выглядит примерно так:

Давайте разберем приведенный выше в качестве примера макрос Zamena:

  • Любой макрос должен начинаться с оператора Sub, за которым идет имя макроса и список аргументов (входных значений) в скобках. Если аргументов нет, то скобки надо оставить пустыми.
  • Любой макрос должен заканчиваться оператором End Sub.
  • Все, что находится между Sub и End Sub - тело макроса, т.е. команды, которые будут выполняться при запуске макроса. В данном случае макрос выделяет ячейку заливает выделенных диапазон (Selection) желтым цветом (код = 6) и затем проходит в цикле по всем ячейкам, заменяя формулы на значения. В конце выводится окно сообщения (MsgBox).

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

Способ 2. Запись макросов макрорекордером

Макрорекордер - это небольшая программа, встроенная в Excel, которая переводит любое действие пользователя на язык программирования VBA и записывает получившуюся команду в программный модуль. Если мы включим макрорекордер на запись, а затем начнем создавать свой еженедельный отчет, то макрорекордер начнет записывать команды вслед за каждым нашим действием и, в итоге, мы получим макрос создающий отчет как если бы он был написан программистом. Такой способ создания макросов не требует знаний пользователя о программировании и VBA и позволяет пользоваться макросами как неким аналогом видеозаписи: включил запись, выполнил операци, перемотал пленку и запустил выполнение тех же действий еще раз. Естественно у такого способа есть свои плюсы и минусы:

  • Макрорекордер записывает только те действия, которые выполняются в пределах окна Microsoft Excel. Как только вы закрываете Excel или переключаетесь в другую программу - запись останавливается.
  • Макрорекордер может записать только те действия, для которых есть команды меню или кнопки в Excel. Программист же может написать макрос, который делает то, что Excel никогда не умел (сортировку по цвету, например или что-то подобное).
  • Если во время записи макроса макрорекордером вы ошиблись - ошибка будет записана. Однако смело можете давить на кнопку отмены последнего действия (Undo) - во время записи макроса макрорекордером она не просто возрвращает Вас в предыдущее состояние, но и стирает последнюю записанную команду на VBA.

Чтобы включить запись необходимо:

  • в Excel 2003 и старше - выбрать в меню Сервис - Макрос - Начать запись (Tools - Macro - Record New Macro)
  • в Excel 2007 и новее - нажать кнопку Запись макроса (Record macro) на вкладке Разработчик (Developer)

Затем необходимо настроить параметры записываемого макроса в окне Запись макроса:

  • Имя макроса - подойдет любое имя на русском или английском языке. Имя должно начинаться с буквы и не содержать пробелов и знаков препинания.
  • Сочетание клавиш - будет потом использоваться для быстрого запуска макроса. Если забудете сочетание или вообще его не введете, то макрос можно будет запустить через меню Сервис - Макрос - Макросы - Выполнить (Tools - Macro - Macros - Run) или с помощью кнопки Макросы (Macros) на вкладке Разработчик (Developer) или нажав ALT+F8.
  • Сохранить в... - здесь задается место, куда будет сохранен текст макроса, т.е. набор команд на VBA из которых и состоит макрос.:
    • Эта книга - макрос сохраняется в модуль текущей книги и, как следствие, будет выполнятся только пока эта книга открыта в Excel
    • Новая книга - макрос сохраняется в шаблон, на основе которого создается любая новая пустая книга в Excel, т.е. макрос будет содержаться во всех новых книгах, создаваемых на данном компьютере начиная с текущего момента
    • Личная книга макросов - это специальная книга Excel  с именем Personal.xls, которая используется как хранилище макросов. Все макросы из Personal.xls загружаются в память при старте Excel и могут быть запущены в любой момент и в любой книге.

После включения записи и выполнения действий, которые необходимо записать, запись можно остановить командой Остановить запись (Stop Recording).

Запуск и редактирование макросов

Управление всеми доступными макросами производится в окне, которое можно открыть с помощью кнопки Макросы (Macros) на вкладке Разработчик (Developer) или - в старых версиях Excel - через меню Сервис - Макрос - Макросы (Tools - Macro - Macros):

  • Любой выделенный в списке макрос можно запустить кнопкой Выполнить (Run).
  • Кнопка Параметры (Options) позволяет посмотреть и отредактировать сочетание клавиш для быстрого запуска макроса.
  • Кнопка Изменить (Edit) открывает редактор Visual Basic (см. выше) и позволяет просмотреть и отредактировать текст макроса на VBA.

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

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

Кнопка на панели инструментов в Excel 2003 и старше

Откройте меню Сервис - Настройка (Tools - Customize) и перейдите на вкладку Команды (Commands). В категории Макросы легко найти веселый желтый "колобок" - Настраиваемую кнопку (Custom button):

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

Кнопка на панели быстрого доступа в Excel 2007 и новее

Щелкните правой кнопкой мыши по панели быстрого доступа в левом верхнем углу окна Excel и выберите команду Настройка панели быстрого доступа (Customise Quick Access Toolbar):

Затем в открывшемся окне выберите категорию Макросы и при помощи кнопки Добавить (Add) перенесите выбранный макрос в правую половину окна, т.е. на панель быстрого доступа:

Кнопка на листе

Этот способ подходит для любой версии Excel. Мы добавим кнопку запуска макроса прямо на рабочий лист, как графический объект. Для этого:

  • В Excel 2003 и старше - откройте панель инструментов Формы через меню Вид - Панели инструментов - Формы (View - Toolbars - Forms)
  • В Excel 2007 и новее - откройте выпадающий список Вставить (Insert) на вкладке Разработчик (Developer) 

Выберите объект Кнопка (Button):

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

Создание пользовательских функций на VBA

Создание пользовательских функций или, как их иногда еще называют, UDF-функций (User Defined Functions) принципиально не отличается от создания макроса в обычном программном модуле. Разница только в том, что макрос выполняет последовательность действий с объектами книги (ячейками, формулами и значениями, листами, диаграммами и т.д.), а пользовательская функция - только с теми значениями, которые мы передадим ей как аргументы (исходные данные для расчета).

Чтобы создать пользовательскую функцию для расчета, например, налога на добавленную стоимость (НДС) откроем редактор VBA, добавим новый модуль через меню Insert - Module и введем туда текст нашей функции:

Обратите внимание, что в отличие от макросов функции имеют заголовок Function вместо Sub и непустой список аргументов (в нашем случае это Summa). После ввода кода наша функция становится доступна в обычном окне Мастера функций (Вставка - Функция) в категории Определенные пользователем (User Defined):

После выбора функции выделяем ячейки с аргументами (с суммой, для которой надо посчитать НДС) как в случае с обычной функцией:

 

 

 

КАК: Как добавить макросы в Excel

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

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

В этой статье рассматриваются три версии Excel для Windows и версия Excel для Mac для 2016 года.

Макросы в Excel Online

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

Как создать макрос в Excel 2016, Excel 2013 и Excel 2010

Диалоговое окно «Запись макроса» и вкладка «Разработчик»

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

  1. Перейти к файл и выберите Опции.
  2. Выбрать Настроить ленту в левой панели.
  3. Выберите разработчик установите флажок «Основные вкладки» в списке «Настроить ленту справа».
  4. Нажмите Хорошо, Появится вкладка «Разработчик».

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

  1. Перейти к разработчик Вкладка.
  2. Нажмите на Запись макроса в группе Code.
  3. Введите имя макроса в поле «Имя макроса».
  4. Введите ключ быстрого доступа, который вы хотите использовать для макроса. Все сочетания клавиш макросов начинаются с Ctrl. Вы можете нажать и клавишу Shift при вводе сочетания клавиш, которые вы хотите использовать, что создаст комбинацию клавиш Ctrl + Shift. Это полезно, так как в Excel уже используется множество ярлыков клавиш.
  5. Выбрать Эта рабочая тетрадь в раскрывающемся списке «Сохранить макрос в магазине».
  6. Нажмите Хорошо.
  7. Выполните все форматирование и команды, которые вы хотите включить.
  8. Нажмите Остановить запись когда вы закончите.
  9. Перейти к файл и выберите Сохранить как или нажмите F12, Откроется диалоговое окно «Сохранить как».
  10. Введите имя файла для книги.
  11. Выбрать Excel Macro-Enabled Workbook в раскрывающемся списке «Сохранить как» и нажмите Сохранить.

Как создать макрос в Excel 2016 для Mac

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

  1. Идти к превосходить и выберите предпочтения
  2. Выбрать Лента и панель инструментов.
  3. Выберите разработчик установите флажок «Основные вкладки» в разделе «Настроить категорию ленты».
  4. Нажмите Сохранить.

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

  1. Перейти к разработчик Вкладка.
  2. Нажмите на Запись макроса в группе Code.
  3. Введите имя макроса в поле «Имя макроса».
  4. Введите любую строчную или прописную букву, которую вы хотите использовать в поле быстрого доступа.
  5. Выбрать Эта рабочая тетрадь в раскрывающемся списке «Сохранить макрос в магазине».
  6. Нажмите Хорошо.
  7. Выполните все форматирование и команды, которые вы хотите включить.
  8. Нажмите Остановить запись когда вы закончите.
  9. Перейти к файл и выберите Сохранить как или нажмите ⇧⌘S (Shift-Command-S). Откроется диалоговое окно «Сохранить как».
  10. Введите имя файла для книги.
  11. Выбрать Excel Macro-Enabled Workbook в раскрывающемся списке «Сохранить как» и нажмите Сохранить.

Как запустить макрос в Excel 2016, Excel 2013, Excel 2010, Excel для Office 365 и Excel 2016 для Mac

Диалоговое окно Макро

Хотя существует несколько способов запуска макроса, созданного в Excel, два наиболее простых метода - это использование ярлыка, назначенного макросу, и запуск макроса со вкладки «Разработчик». Оба они эффективны, поэтому используйте тот, который кажется вам самым легким.

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

  1. Введите любые данные, на которые вы хотите применить форматирование или команды, включенные в макрос.
  2. Нажмите комбинацию клавиш, которую вы назначили макросу.

Чтобы запустить макрос со вкладки «Разработчик», начните с открытия листа, содержащего макрос.

  1. Введите любые данные, на которые вы хотите применить форматирование или команды, включенные в макрос.
  2. Перейти к разработчик вкладку ленты.
  3. Нажмите макрос в группе Code. Откроется диалоговое окно Макрос.
  4. Выберите имя, присвоенное макросу, и нажмите Бежать.

Советы по макросам Excel

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

  1. Перейти к разработчик Вкладка.
  2. Нажмите макрос в группе «Код», чтобы открыть диалоговое окно «Макросы».
  3. Щелкните имя макроса, для которого вы хотите назначить или изменить комбинацию клавиш быстрого доступа.
  4. Нажмите Опции, Откроется диалоговое окно «Параметры макроса».
  5. Введите любую строчную или прописную букву, которую вы хотите использовать для сочетания клавиш в поле ярлыка и нажмите Хорошо.

Макросы в excel 2010 как сделать

     Добрый день!

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

     Как вы знаете из собственного опыта, при работе с макросом есть очень много «рутинны», то есть производятся одни и те же операции и действия которые нужны для получения результата, это могут быть заполнение однотипных таблиц ну или бланков, обработка данных, похожие как близнецы еженедельные, ежемесячные отчёты, создание дашбордов и т.д. А вот использование макросов позволит вам производить эти действия в автоматическом режиме, используя возможности Excel на полную катушку, скидая эти рутинные и монотонные операции на мощные плечи Excel. Также причиной использования макросов может быть добавления нужных возможностей, которые еще не реализованы в стандартных функциях Excel (например, вывод суммы прописью, сбор данных на одном листе и прочее).

     Если вы никогда не слышали о макросе, то самым точным его определением будет таким, это действия которые запрограммированы на определённую последовательность и записаны в среде программирования на языке Visual Basic for Applications (VBA). Запуск макроса может производиться многократно и это заставит Excel выполнять любую последовательность необходимых нам действий, которые вручную выполнять нам просто не нравится или не хочется. Несмотря на великое множество языков программирования для всего комплекса Microsoft Office стандартом является именно VBA и он работает в любом приложении офисного пакета.

     Итак, создать макрос в Excel возможно 2 способами:

  1. Создать макрос в Excel с помощью макрорекордера;
  2. Создать макрос в Excel в редакторе Visual Basic.

Создать макрос в Excel с помощью макрорекордера

     Для начала проясним, что собой представляет макрорекордер и при чём тут макрос.

     Макрорекордер – это вшитая в Excel небольшая программка, которая интерпретирует любое действие пользователя в кодах языка программирования VBA и записывает в программный модуль команды, которые получились в процессе работы. То есть, если мы при включенном макрорекордере, создадим нужный нам ежедневный отчёт, то макрорекордер всё запишет в своих командах пошагово и как итог создаст макрос, который будет создавать ежедневный отчёт автоматически.

     Этот способ очень полезен тем, кто не владеет навыками и знаниями работы в языковой среде VBA. Но такая легкость в исполнении и записи макроса имеет свои минусы, как и плюсы:

  • Записать макрорекордер может только то, что может пощупать, а значит записывать действия он может только в том случае, когда используются кнопки, иконки, команды меню и всё в этом духе, такие варианты как сортировка по цвету для него недоступна;
  • В случае, когда в период записи была допущена ошибка, она также запишется. Но можно кнопкой отмены последнего действия, стереть последнюю команду которую вы неправильно записали на VBA;
  • Запись в макрорекордере проводится только в границах окна MS Excel и в случае, когда вы закроете программу или включите другую, запись будет остановлена и перестанет выполняться.

      Для включения макрорекордера на запись необходимо произвести следующие действия:

  • в версии Excel от 2007 и к более новым вам нужно на вкладке «Разработчик» нажать кнопочку «Запись макроса»;
  • в версиях Excel от 2003 и к более старым (они еще очень часто используются) вам нужно в меню «Сервис» выбрать пункт «Макрос» и нажать кнопку «Начать запись».

     Следующим шагом в работе с макрорекордером станет настройка его параметров для дальнейшей записи макроса, это можно произвести в окне «Запись макроса», где:

  • поле «Имя макроса» — можете прописать понятное вам имя на любом языке, но должно начинаться с буквы и не содержать в себе знаком препинания и пробелы;
  • поле «Сочетание клавиш» — будет вами использоваться, в дальнейшем, для быстрого старта вашего макроса. В случае, когда вам нужно будет прописать новое сочетание горячих клавиш, то эта возможность будет доступна в меню «Сервис» — «Макрос» — «Макросы» — «Выполнить» или же на вкладке «Разработчик» нажав кнопочку «Макросы»;
  • поле «Сохранить в…» — вы можете задать то место, куда будет сохранен (но не послан) текст макроса, а это 3 варианта:
    • «Эта книга» — макрос будет записан в модуль текущей книги и сможет быть выполнен только в случае, когда данная книга Excel будет открыта;
    • «Новая книга» — макрос будет сохранен в тот шаблон, на основе которого в Excel создается пустая новая книга, а это значит, что макрос станет доступен во всех книгах, которые будут создаваться на этом компьютере с этого момента;
    • «Личная книга макросов» — является специальной книгой макросов Excel, которая называется «Personal.xls» и используется как специальное хранилище-библиотека макросов. При старте макросы из книги «Personal.xls» загружаются в память и могут быть запущены в любой книге в любой момент.
  • поле «Описание» — здесь вы можете описать, что и как должен делать макрос, для чего он создавался и какие функции несет, это чисто информативное поле, что называется на память.

     После того как вы запустили и записали свой макрос, выполнив все нужные действия, запись можно прекратить командой «Остановить запись» и ваш макрос с помощью макрорекордера будет создан.

Создать макрос в Excel в редакторе Visual Basic.

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

    Запуск редактора программ на VBA происходит по-разному, в зависимости от версии вашей программы Excel:

  • в версиях Excel 2003 и более старше, нам нужно в меню «Сервис», выбрать пункт «Макрос» и нажать «Редактор Visual Basic»;
  • в версиях Excel 2007 и более новее, нам нужно на вкладке «Разработчик» нажать кнопку «Редактор Visual Basic». В случае когда вы не находите эту вкладку вам нужно ее активировать выбрав пункт меню «Файл» — «Параметры» — «Настройка ленты» и в диалоговом окне флажком активируем вкладку «Разработчик».

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

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

     Все наши макросы будут храниться в так называемых программных модулях. В любой из книг любой версии Excel нам доступно создание любых программных модулей в любом количестве и размещать в них все созданные нами макросы. Один модуль в состоянии содержать в себе любое количество нужных вам или созданных макросов. Модули доступны в окне «Project Explorer» и размещаются в верхнем левом углу редактора макросов (так же его можно вызвать комбинацией клавиш CTRL+R).

     Программные модули в редакторе VBA существуют в нескольких видах и используются для разных вариантов и ситуаций:

  • Обычные модули – самый распространённый вариант при создании макросов. Если вам нужно создание именно такого модуля, тогда выберете в пункте меню «Insert», пункт «Module». В открывшемся новом пустом окне нового модуля теперь можно вводить нужные команды на VBA посредством клавиатуры или же попросту копируя их с других источников, например с моего сайта;
  • Модуль «Эта книга» — размещен там же где и предыдущий в том же окне «Project Explorer» и в данный модуль сохраняют макросы, которые срабатывают при определенных действиях, которые имеют место в книге Excel, это могут быть отправка файла на печать, открытие или закрытие документа и т.п.
  • Модуль листа – может быть доступен там, где и предыдущие, а также через контекстное меню ярлыка листа, выбрав пункт «Исходный текст». В этот модуль записывают те макросы, которые нужно исполнять при выполнении событий на листе, такие как пересчёт листа, изменение данных в ячейке, удаление или копирование листа ну и т.д.

     Собственно сам макрос при работе в стандартном модуле выглядит следующим образом:

     Рассмотрим на примере работающего макроса «Расширенный фильтр»:

  • Все макросы в обязательном порядке будут начинаться с оператора Sub, после которого следует имя вашего макроса и список аргументов в скобочках. В случаях, когда аргументы отсутствуют скобки нужно оставить пустыми;
  • В обязательном порядке все макросы заканчиваются оператором End Sub;
  • Данные что находятся между операторами Sub и End Sub, является телом макроса, которое будет работать при запуске макроса. В примере, макрос проверяет диапазон данных и при вводе данных находит их в списке базы данных и накладывает фильтр, выводя указанное по критериям значение.

     Как видите второй способ более труден в использовании и понимании, если у вас отсутствует опыт в программировании вообще или в частности в VBA. Очень сложно понять и разобраться какие команды и как вводятся, какие аргументы он использует для того чтобы макрос начал выполнять свою работу в автоматическом режиме. Но дорогу осилит идущий, как говорили древние мудрецы и поэтому и вам не стоит опускать руки, а следовать заповедям дедушки Ленина…

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

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

  1. Кнопка в панели инструментов в MS Excel 2003 и более старше. Вам нужно в меню «Сервис» в пункте «Настройки» перейти на доступную вкладку «Команды» и в окне «Категории» выбрать команду «Настраиваемая кнопка» обозначена жёлтым колобком или смайликом, кому как понятней или удобней. Вытащите эту кнопку на свою панель задач и, нажав правую кнопку мыши по кнопке, вызовите ее контекстное меню, в котором вы сможете отредактировать под свои задачи кнопку, указав для нее новую иконку, имя и назначив нужный макрос.
  2. Кнопка в панели вашего быстрого доступа в MS Excel 2007 и более новее. Вам нужно клацнуть правой кнопкой мышки на панели быстрого доступа, которое находится в верхнем левом углу окна MS Excel и в открывшемся контекстном меню выбираете пункт «Настройка панели быстрого доступа». В диалоговом окне настройки вы выбираете категорию «Макросы» и с помощью кнопки «Добавить» вы переносите выбранный со списка макрос в другую половинку окна для дальнейшего закрепления этой команды на вашей панели быстрого доступа.

    Создание графической кнопки на листе Excel

     Данный способ доступен для любой из версий MS Excel и заключается он в том, что мы вынесем кнопку прямо на наш рабочий лист как графический объект. Для этого вам нужно:

  • В MS Excel 2003 и более старше переходите в меню «Вид», выбираете «Панель инструментов» и нажимаете кнопку «Формы».
  • В MS Excel 2007 и более новее вам нужно на вкладке «Разработчик» открыть выпадающее меню «Вставить» и выбрать объект «Кнопка».

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

Как создать пользовательские функции на VBA

     В принципе, создание, так называемых, пользовательских функций не особо отличаются от создания обычного макроса в стандартном программном модуле. Разница между этими понятиями заключается в том что макрос будет выполнять заложенные в нём действия с объектами книги или листа (это формулы, ячейки, диаграммы и т.д), а вот пользовательская функция работает только со значениями которые она получает от нас и являются аргументами они же начальные данные для вычислений.

     К примеру, для создания пользовательской функции налога на добавленную стоимость, он же НДС, нам нужно открыть наш редактор VBA и добавить новый модуль, выбрать в меню «Insert» пункт «Module» и ввести туда текст для нашей функции:      Следует заметить, что главное отличие функции от макроса это заголовок Function заменило Sub и в наличии заполненный список аргументов, в нашем примере это Summa. После того как наш код будет введен, он станет доступен в стандартном окне Мастера функций, который находится в меню «Формулы», пункт «Вставить функцию».        И выбираем категорию «Определенные пользователем» в которой и будет отображаться наша написанная функция «NDS».      После выбора нашей функции можно установить курсор на ячейку с аргументом, в которой будет содержаться та сумма, для которой мы считаем НДС, всё происходит, как и с обычной функцией.        А на этом у меня всё! Я очень надеюсь что статья о том как создать макрос в Excel вам была понятной и полезной. Буду очень благодарен за оставленные комментарии, так как это показатель читаемости и вдохновляет на написание новых статей! Делитесь с друзьями прочитанным и ставьте лайк!

      P.S. Если вам очень интересно как работает макрос и где он применяется. С примерами вы сможете ознакомиться у меня на сайте в следующих статьях:

  1. «Как использовать расширенный фильтр в Excel»
  2. «8 способов как сравнить две таблицы в Excel»
  3. «5 вариантов, как удалить пустые строки в Excel»
  4. «Как скрыть в Excel значение ячеек»
  5. «5 быстрых способов как заменить точки на запятые в Excel»
  6. «Как правильно скрыть лист в Excel»

       Не забудьте поблагодарить автора!

Не уметь переносить бедность постыдно; не уметь избавиться от неё трудом – ещё постыднее. Перикл

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

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

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

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

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

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

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

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

  1. На вкладке «Разработчик» нажимаем кнопку «Запись макроса».
  2. В появившимся диалоговом окне заполняем параметры макроса. И нажимаем «ОК».
  3. После завершения нажимаем на кнопку «Остановить запись», после чего макрос будет автоматически сохранен.
  4. Для выполнения или редактирования записанного макроса нажимаем на кнопку «Макросы» (или комбинацию клавиш ALT+F8). Появится окно со списком записанных макросов и кнопками для управления ими.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

VBA считается стандартным языком написания сценариев для приложений Microsoft, и в настоящее время он входит в состав всех приложений Office и даже приложений других компаний. Следовательно, овладев VBA для Excel, вы сможете сразу перейти к созданию макросов для других программных продуктов Microsoft. Более того, вы сможете создавать полноценные программные продукты, одновременно использующие функции самых разных приложений.

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

По умолчанию, вкладка, отвечающая за управление и навигацию  макросов в Excel, скрыта. Чтобы активировать данную опцию перейдите по вкладке Файл в группу Параметры. В появившемся диалоговом окне Параметры Excel, перейдите по вкладке Настройка ленты, в правом поле со списком ставим маркер напротив вкладки Разработчик. Данные действия актуальны для версий Excel 2010 и старше.

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

Написание макросов в Excel

Во вкладке Разработчик в группе Код, нажмите кнопку Запись макроса. Появиться диалоговое окно Запись макроса, которая запрашивает некоторую информацию о будущем записываемом коде. Если вы впервые создаете макрос, можете просто нажать кнопку ОК. С данного момента Excel будет фиксировать каждое действие пользователя в модуле VBA, будь то ввод данных, форматирование или создание диаграмм. Чтобы остановить запись макроса, нажмите кнопку Остановить запись, которая находится в той же группе Код.

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

Теперь вы можете посмотреть список всех созданных макросов, нажав на кнопку Макрос, находящуюся в группе Код. В появившемся диалоговом окне вы можете дать более описательные имена своим кодам или задать сочетания клавиш, которые бы запускали тот или иной макрос. Альтернативным вариантом запуска данного окна является нажатие клавиш Alt + F8.

Редактирование макросов

Поздравляю! Вы написали свой первый макрос. Логичным будет проверить теперь, какой же код сгенерировал нам Excel. Сгенерированный код написан на языке VBA (Visual Basic for Applications). Чтобы увидеть его, нужно открыть Редактор VB (VBE), который запускается нажатием клавиш Alt + F11 или кнопкой Visual Basic на вкладке Разработчик.

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

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

Для просмотра кода, щелкните по ветке Modules в окне проектов и дважды щелкните по появившейся ветке Module. Редактор откроет окно с кодом, как изображено на картинке.

Здесь можно редактировать сгенерированный код, который был записан при работе в Excel. К примеру, вам требуется заполнить определенный столбец значениями от 1 до 10. У вас уже есть первые три шага, которые вводят значения 1, 2 и 3 в первые три ячейки столбца А. Нам необходимо дописать оставшиеся семь шагов.

Если вы посмотрите на приведенный выше код, вы увидите, что макрос определенным образом структурирован. Сначала приложение перемещает курсор на ячейку с помощью команды Range(«A1»).Select, затем редактирует его содержимое с помощью ActiveCell.FormulaR1C1 = «1». Таким образом, для оставшихся шагов мы можем повторить эти действия, меняя адрес ячейки и значение, которое вы хотите записать в эту ячейку. Например, чтобы задать ячейке A4 значение 4, вы должны написать:

1
2

Range(«A4»).Select
ActiveCell.FormulaR1C1 = «4»

И повторить аналогичные шаги для оставшихся значений.

После того, как вы закончите редактирование, сохраните книгу. Запустить макрос вы сможете нажатием кнопки F5, либо, вернувшись в рабочую книгу Excel, перейти по вкладке Разработчик в группу Код -> Макросы и выбрать из списка, интересующий вас макрос.

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

Увеличение скорости выполнения макросов Excel

Пока все хорошо. Давайте разберем пару хитростей, которые помогут ускорить выполнение макроса. Рассмотрим в качестве примера фрагмент кода, приведенный выше. Современные компьютеры отработают рассматриваемый код так быстро, что вы даже не заметите этого. Но что если вам необходимо выполнить операцию 50000 раз. Это займет какое-то время. Если макрос, написанный вами, исчисляется сотнями строк, ускорить выполнение кода можно путем обрезки части процессов, который не используется во время исполнения макроса.

Использование команды Application.ScreenUpdating

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

1
2
3
4
5
6
7
8
9
10

Sub Макрос1()
Application.ScreenUpdating = False
Range(«A1»).Select
ActiveCell.FormulaR1C1 = «1»
Range(«A2»).Select
ActiveCell.FormulaR1C1 = «2»
Range(«A3»).Select
ActiveCell.FormulaR1C1 = «3»
Application.ScreenUpdating = True
End Sub

Команда Application.ScreenUpdating говорит Excel, чтобы он прекратил выводить пересчитанные данные на экран, а выдал готовые значения в конце выполнения кода.

Использование команды Application. Calculation

Вторая хитрость заключается в отключении автоматических вычислений. Давайте я поясню. Каждый раз, когда пользователь или процесс обновляет ячейку, Excel пытается пересчитать все зависимые от нее ячейки. Так скажем, если ячейка, которую пытается обновить макрос, влияет на 10000 остальных ячеек, Excel будет пытаться пересчитать их все до того, как закончится выполнение кода. Соответственно, если существует целый ряд влияющих ячеек, пересчет может значительно замедлить выполнение кода. Чтобы этого не происходило, вы можете установить команду Application. Calculation в начале кода, которая переключит пересчет формул в ручной режим, а затем вернуть автоматическое вычисление в конце макроса.

1
2
3
4
5
6
7
8
9
10
11
12

Sub Макрос1()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Range(«A1»).Select
ActiveCell.FormulaR1C1 = «1»
Range(«A2»).Select
ActiveCell.FormulaR1C1 = «2»
Range(«A3»).Select
ActiveCell.FormulaR1C1 = «3»
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub

Будьте внимательны, не забудьте переключить данную опцию снова в автоматический режим в конце макроса. В противном случае, вам необходимо будет это сделать в самом Excel, перейдя по вкладке Формулы в группу Вычисление и выбрать Параметры вычислений –> Автоматический.

Избежание выбора ячеек и диапазонов

В режиме автоматической записи макросов, вы можете заметить, что Excel очень часто использует команду выбора ячеек, например, Range(«A1»).Select. В нашем примере, мы использовали данную команду несколько раз, чтобы выбрать ячейку и изменить ее значение. Вы можете избежать этого просто указав адрес ячейки и задав ей необходимое значение (Макрос записал движение курсора от одной ячейки к другой, следовательно, вставил эти шаги. Однако они не являются необходимыми). Так что, более эффективный код будет выглядеть следующим образом.

1
2
3
4
5
6
7
8
9
10
11

Sub Макрос1()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Range(«A1»).Value = 1
Range(«A2»).Value = 2
Range(«A3»).Value = 3
Range(«A4»).Value = 4
Range(«A5»).Value = 5
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub

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

Примеры макросов Excel

Ниже приведены несколько примеров кодов VBA, которые помогут автоматизировать наиболее часто повторяющиеся задачи:

Макрос вставки строки

1
2
3

Sub Макрос1()
Rows(2).EntireRow.Insert ‘Вставляет строку перед второй строкой
End Sub

Макрос вставки столбца

1
2
3

Sub Макрос1()
Columns(3).EntireColumn.Insert ‘Вставляет столбец левее 3-го столбца
End Sub

Макрос форматирования

1
2
3
4
5
6

Sub Макрос1()
‘Делает формат ячейки D2 жирным, подчеркнутым и курсив
Cells(2, 4).Font.Bold = True
Cells(2, 4).Font.Underline = xlUnderlineStyleSingle
Cells(2, 4).Font.Italic = True
End Sub

Макрос обхода диапазона ячеек

1
2
3
4
5
6

Sub Макрос1()
For Each cel In Range(Cells(1, 1), Cells(10, 5))
counter = counter + 1
cel.Value = counter
Next cel
End Sub

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

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

Способы записи макросов

Макрос можно записать двумя способами:

  • автоматически;
  • вручную.

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

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

Автоматическая запись макросов

Прежде, чем начать автоматическую запись макросов, нужно включить макросы в программе Microsoft Excel.

Далее, переходим во вкладку «Разработчик». Кликаем по кнопке «Запись макроса», которая расположена на ленте в блоке инструментов «Код».

Открывается окно настройки записи макроса. Тут можно указать любое имя макроса, если установленное по умолчанию вас не устраивает. Главное, чтобы имя это начиналось с буквы, а не с цифры. Также, в названии не должно быть пробелов. Мы оставили название по умолчанию – «Макрос1».

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

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

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

Когда все настройки выполнены, жмем на кнопку «OK».

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

Для примера, запишем простейшее арифметическое действие: сложение содержимого трёх ячеек (=C4+C5+C6).

После этого, жмем на кнопку «Остановить запись». Эта кнопка преобразовалась из кнопки «Запись макроса», после включения записи.

Запуск макроса

Для того, чтобы проверить, как работает записанный макрос, кликаем в том же блоке инструментов «Код» по кнопке «Макросы», или жмем сочетание клавиш Alt+F8.

После этого, открывается окно со списком записанных макросов. Ищем макрос, который мы записали, выделяем его, и жмем на кнопку «Выполнить».

Можно поступить ещё проще, и не вызывать даже окно выбора макросов. Мы же помним, что записали сочетание «горячих клавиш» для быстрого вызова макроса. В нашем случае, это Ctrl+М. Набираем данную комбинацию на клавиатуре, после чего макрос запускается.

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

Редактирование макроса

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

Открывается Microsoft Visual Basic (VBE) – среда, где происходит редактирование макросов.

Запись каждого макроса начинается с команды Sub, а заканчивается командой End Sub. Сразу же после команды Sub указывается имя макроса. Оператор «Range(«…»).Select» указывает выбор ячейки. Например, при команде «Range(«C4»).Select» выбирается ячейка C4. Оператор «ActiveCell.FormulaR1C1» используется для записи действий в формулах, и для других расчетов.

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

Range(«C3»).Select
ActiveCell.FormulaR1C1 = «11»

Выражение «ActiveCell.FormulaR1C1 = «=RC+RC+RC»» заменим на «ActiveCell.FormulaR1C1 = «= RC+RC+RC+RC»».

Закрываем редактор, и запускаем макрос, как и в прошлый раз. Как видим, вследствие введенных нами изменений была добавлена ещё одна ячейка с данными. Она также была включена в расчет общей суммы.

В случае, если макрос слишком большой, его выполнение может занять значительное время. Но, путем внесения ручного изменения в код, мы можем ускорить процесс. Добавляем команду «Application.ScreenUpdating = False». Она позволит сохранить вычислительные мощности, а значит ускорить работу. Это достигается путем отказа от обновления экрана во время выполнения вычислительных действий. Чтобы возобновить обновление после выполнения макроса, в его конце пишем команду «Application.ScreenUpdating = True»

Добавим также команду «Application.Calculation = xlCalculationManual» вначале кода, а в конце кода дописываем «Application.Calculation = xlCalculationAutomatic». Этим мы вначале макроса отключаем автоматический пересчет результата после каждого изменения ячеек, а в конце макроса – включаем. Таким образом, Excel подсчитает результат только один раз, а не будет его постоянно пересчитывать, чем сэкономит время.

Написание кода макроса с нуля

Продвинутые пользователи могут выполнять не только редактирование и оптимизацию записанных макросов, но и записывать код макросов с нуля. Для того, чтобы приступить к этому, нужно нажать на кнопку «Visual Basic», которая расположена в самом начале ленты разработчика.

После этого, открывается знакомое нам окно редактора VBE.

Программист пишет там код макроса вручную.

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

Мы рады, что смогли помочь Вам в решении проблемы.

Задайте свой вопрос в комментариях, подробно расписав суть проблемы. Наши специалисты постараются ответить максимально быстро.

Помогла ли вам эта статья?

Да Нет

Создание макросов в Excel 2010

В Microsoft Excel, как и в другие приложения Microsoft Office, встроен интерпретатор языка программирования Visual Basic for Applications (VBA), что дает возможность создавать и запускать программы — макросы.

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

Макрос — это программа, написанная на языке программирования VBA и предназначенная для выполнения в среде Microsoft Excel. Основное назначение макросов — автоматизация обработки документов, выполнение рутинной работы. Например, макрос может очистить рабочие ячейки бланка.

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

Процесс записи макроса рассмотрим на примере.

Пусть есть таблица, которая используется для оформления заказов. В процессе работы, перед оформлением очередного заказа, столбцы Код, Название, Цена и Кол-во нужно очистить. Запишем макрос, обеспечивающий выполнение этой задачи.

Запуск макроса в Excel

Чтобы убедиться в правильности работы макроса, необходимо проверить это на таблице.

  • 1. Раскрыть вкладку Вид -> Макросы.
  • 2. В окне Макросы выбрать макрос Очистить сделать щелчок на кнопке Выполнить.

Сохранение макросов Excel

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

Макросы Excel - Назначение макросов объектам

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

В этой главе вы узнаете, как включить объект в рабочую книгу и назначить ему макрос.

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

Назначение макроса для фигуры

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

  • Нажмите вкладку INSERT на ленте.

  • Нажмите « Фигуры» в группе «Иллюстрации».

  • Выберите любую из готовых фигур, которые появляются в раскрывающемся списке. Например, форма Блок-схема — Подготовка, так как вы находитесь в процессе подготовки данных.

Нажмите вкладку INSERT на ленте.

Нажмите « Фигуры» в группе «Иллюстрации».

Выберите любую из готовых фигур, которые появляются в раскрывающемся списке. Например, форма Блок-схема — Подготовка, так как вы находитесь в процессе подготовки данных.

Нарисуйте форму и отформатируйте ее.

  • Щелкните правой кнопкой мыши на фигуре и выберите Edit Text из выпадающего списка.

  • Введите текст внутри фигуры — Запустить макрос.

  • Отформатируйте текст.

Щелкните правой кнопкой мыши на фигуре и выберите Edit Text из выпадающего списка.

Введите текст внутри фигуры — Запустить макрос.

Отформатируйте текст.

  • Щелкните правой кнопкой мыши на форме.
  • Выберите Назначить макрос из выпадающего списка.

Откроется диалоговое окно «Назначить макрос». Щелкните имя макроса, т.е. RelativeMacro, и нажмите ОК.

Макрос присваивается фигуре.

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

  • Переместите курсор (указатель) на фигуру. Курсор (указатель) изменится на палец.

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

Переместите курсор (указатель) на фигуру. Курсор (указатель) изменится на палец.

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

Назначение макроса графике

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

  • Нажмите вкладку INSERT на ленте.
  • Нажмите «Изображения» в группе «Иллюстрации».
  • Выберите файл, который содержит вашу графику.

Остальные шаги такие же, как и в форме, приведенной в предыдущем разделе.

Назначение макроса элементу управления

Вставка элемента управления VBA и назначение ему макроса делает вашу работу профессиональной. Элементы управления VBA можно вставить на вкладке «Разработчик» на ленте.

Нажмите вкладку РАЗРАБОТЧИК на ленте.

Нажмите « Вставить» в группе «Элементы управления».

Выберите значок «Кнопка» в разделе « Элементы управления формой» из раскрывающегося списка, как показано на снимке экрана ниже.

  • Щелкните ячейку на листе, в которую вы хотите вставить элемент управления Button. Откроется диалоговое окно «Назначить макрос».

  • Нажмите на имя макроса и нажмите ОК.

Щелкните ячейку на листе, в которую вы хотите вставить элемент управления Button. Откроется диалоговое окно «Назначить макрос».

Нажмите на имя макроса и нажмите ОК.

Кнопка управления с назначенным макросом будет вставлена.

  • Щелкните правой кнопкой мыши на кнопке.
  • Нажмите Редактировать текст.
  • Тип — Запустить макрос.
  • Форматировать текст и изменить размер кнопки.

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

Использование элементов управления форм — это простой и эффективный способ взаимодействия с пользователем. Подробнее об этом вы узнаете в главе «Взаимодействие с пользователем».

Работа с макросами в Excel

Макрос – это специальная программа, написанная на встроенном в Excel языке программирования Visual Basic for Application (VBA). Если вам часто приходится выполнять одни и те же операции в Эксель, то гораздо проще записать макрос или найти готовый код макроса, для выполнения определенных действий в Интернете.

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

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

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

В окне «Параметры Excel» перейдите на вкладку «Настройка ленты», теперь в правой части окна поставьте галочку напротив пункта «Разработчик» и нажмите «ОК».

Вверху на ленте появится новая вкладка «Разработчик». На ней и будут находиться все необходимые команды для работы с макросами.

Теперь разрешим использование всех макросов. Снова открываем «Файл» – «Параметры». Переходим на вкладку «Центр управления безопасностью», и в правой части окна кликаем по кнопочке «Параметры центра управления безопасностью».

Кликаем по вкладке «Параметры макросов», выделяем маркером пункт «Включить все макросы» и жмем «ОК». Теперь перезапустите Excel: закройте программу и запустите ее снова.

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

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

Вставим код макроса в модуль

Например, нужно объединить несколько ячеек в одну без потери данных. Как известно, Excel может объединять ячейки, сохраняя данные только из левой верхней ячейки. Чтобы сохранить все данные из объединяемых ячеек, будем использовать VBA-код.

Открываем редактор VBА: переходим на вкладку «Разработчик» и кликаем по кнопочке «Visual Basic»,   также можно воспользоваться комбинацией «Alt+F11».

С левой стороны редактора, в окне «Project», выделяем мышкой рабочую книгу. Рабочая книга – это Ваш открытый документ Excel, в который нужно вставить макрос. У меня он называется «Книга1».

Кликаем по выбранному пункту правой кнопкой мыши и выбираем из меню «Insert» – «Module».

В окне «Project» появилась новая папка «Modules», а в ней наш первый модуль с названием «Module1».

Справа появится поле для ввода VBA-кода. С помощью комбинации «Ctrl+V», вставляю в него код, который будет объединять несколько ячеек, без потери данных. Название макроса «MergeCell».

Следите за тем, куда Вы вставляете код, это будет написано или в заголовке редактора, или в заголовке окна для вставки кода. Мы вставляем код в модуль, соответственно надпись – «Modul1(Code)».

Сохраняем изменения, нажав комбинацию «Ctrl+S». Если Вы используете Excel 2007 и выше, появится окно сохранения документа. В нем, в поле «Тип файла», выберите из выпадающего списка «Книга Excel с поддержкой макросов» и нажмите «Сохранить».

Вставим код макроса в рабочий лист

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

Открываем редактор VBA и в окошке «Project» выделяем нужный лист, если их в рабочей книге несколько, на котором должен работать макрос: «Лист1 (Лист1)». Кликаем по нему два раза мышкой.

Справа появиться окошко для ввода кода. Обратите внимание, мы вставляем код в рабочий лист, соответственно в заголовке написано «Лист1(Code)». Сохраните изменения в документе, как было описано выше.

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

Создадим пользовательскую функцию

Например, создадим функцию, которая будет рассчитывать НДС. В окне «Project» кликаем по рабочему листу правой кнопкой мыши и выбираем «Insert» – «Module».

В папке «Modules», появляется второй модуль с названием «Module2». Прописываем VBA-код   в соответствующее окно, и сохраняем его, нажав «Ctrl+S». Называться функция будет «NDS».

Как запустить макросы в Excel

Теперь рассмотрим, как выполняются все созданные ранее макросы в документе Excel.

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

Выделяем ячейки, которые нужно объединить, затем переходим на вкладку «Разработчик» и кликаем по кнопочке «Макросы».

Откроется диалоговое окно «Макрос». В списке, выбираем нужное имя макроса: «MergeCell», и жмем «Выполнить».

Макрос выполнился: нужные ячейки объединены, и текст в них сохранен.

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

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

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

Если Вы создали пользовательскую функцию, то вставлять в документ ее также надо как функцию. У меня такая функция должна рассчитывать НДС.

Например, применим ее к ячейке А1, со значением «100». Выделяем ячейку, в которую будет вписан результат. Затем переходим на вкладку «Формулы» и нажимаем кнопочку «Вставить функцию».

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

Затем выделяю ячейку, для которой нужно посчитать НДС, и нажимаю «ОК».

Включить макросы в документе Excel 2010 совершенно не сложно. Надеюсь, Вы также разобрались, как вставить макрос в Excel, а затем выполнить его.


Оценить статью: Загрузка... Поделиться новостью в соцсетях

 

Об авторе: Олег Каминский

Вебмастер. Высшее образование по специальности "Защита информации". Создатель портала comp-profi.com. Автор большинства статей и уроков компьютерной грамотности

Быстрый старт: создание макроса

При выполнении повторяющихся задач в Microsoft Excel можно записать макрос для их автоматизации. Макрос — это действие или набор действий, которые можно запускать несколько раз. Когда вы создаете макрос, он записывает ваши щелчки мышью и нажатия клавиш. Создав макрос, вы можете отредактировать его, чтобы внести небольшие изменения в его работу.

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

Как?

Перед записью макроса

Инструменты Macro и VBA находятся на вкладке Developer , которая по умолчанию скрыта, поэтому первым шагом является включение этой вкладки.Дополнительные сведения см. в разделе Просмотр вкладки «Разработчик».

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

  1. В группе Код на вкладке Разработчик нажмите Запись макроса .

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

  3. Выполните шаги, которые вы хотите автоматизировать, например, введите стандартный текст или заполните столбец данных.

  4. На вкладке Developer нажмите Stop Logging .

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

Редактируя макрос, вы можете ознакомиться с языком программирования Visual Basic.

Чтобы изменить макрос, в группе Код на вкладке Разработчик щелкните Макросы , выберите имя макроса и щелкните Редактировать . Это запустит редактор Visual Basic.

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

Поэкспериментируйте с кодом, закройте редактор Visual Basic и перезапустите макрос.Проверьте, что изменилось!

Следующие шаги

Как?

Перед записью макроса

Убедитесь, что вкладка Developer отображается на ленте.Вкладка Разработчик по умолчанию не отображается, поэтому делаем следующее:

  1. Перейти к Excel > Настройки... > Лента и инструменты .

  2. В категории "Настройка" Лента в списке Главные вкладки установите флажок "Разработчик" и нажмите Сохранить .

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

  1. На вкладке Разработчик щелкните Запись макроса .

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

  3. Выполните шаги, которые вы хотите автоматизировать, например, введите стандартный текст или заполните столбец данных.

  4. На вкладке Developer в группе Code нажмите Stop Logging .

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

Редактируя макрос, вы можете ознакомиться с языком программирования Visual Basic.

Чтобы изменить макрос, на вкладке Разработчик нажмите Макросы , выберите имя макроса и нажмите Редактировать . Это запустит редактор Visual Basic.

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

Поэкспериментируйте с кодом, закройте редактор Visual Basic и перезапустите макрос.Проверьте, что изменилось!

Нужна дополнительная помощь?

Вы всегда можете обратиться к эксперту в техническом сообществе Excel или получить техническую поддержку в сообществе ответов.

.

Автоматизируйте задачи с помощью макрорекордера

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

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

Инструменты Macro и VBA находятся на вкладке Developer , которая по умолчанию скрыта, поэтому первым шагом является включение этой вкладки.Дополнительные сведения см. в разделе Просмотр вкладки «Разработчик».

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

Вам может быть полезна следующая информация о макросах:

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

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

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

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

  1. На вкладке Разработчик в группе Код нажмите Записать макрос .

    —ИЛИ—

    Нажмите Клавиши Alt + T + M + R.

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

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

  3. Чтобы назначить сочетание клавиш для запуска макроса, в поле «Сочетание клавиш» введите любую букву (прописную и строчную), которую вы хотите использовать.Лучше всего использовать комбинацию клавиш Ctrl + Shift (верхний регистр), поскольку сочетание клавиш макроса заменит соответствующее сочетание клавиш Excel по умолчанию, когда рабочая книга, содержащая макрос, открыта. Например, при использовании клавиш Ctrl + Z (Отменить) вы потеряете возможность отмены в этом экземпляре Excel.

  4. В списке Сохранить макрос в выберите место для сохранения макроса.

    Как правило, макросы сохраняются в этой книге, но если вы хотите, чтобы макрос был доступен при каждом использовании макроса, выберите личную книгу макросов Excel. Если вы выберете Личная книга макросов , Excel создаст (если она еще не существует) скрытую личную книгу макросов (Personal.xlsb), в которой будет сохранен макрос.

  5. В поле Описание можно дополнительно ввести краткое описание работы макроса.

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

  6. Нажмите OK , чтобы начать запись.

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

  8. На вкладке Developer в группе Code нажмите Stop Logging .

    —ИЛИ—

    Нажать Alt клавиши + T + M + R.

Работа с записанными макросами в Excel

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

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

Дополнительные сведения о работе с макросами в Excel см. ниже.

Задача

Описание

Изменить параметры безопасности макросов в Excel

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

Запуск макроса

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

Редактирование макроса

Макросы, включенные в книгу, можно редактировать с помощью редактора Visual Basic.

Копирование модуля макроса в другую книгу

Если ваша книга содержит макрос VBA, вы можете скопировать модуль с этим макросом в другую открытую книгу с помощью редактора Microsoft Visual Basic, а затем использовать макрос в другом месте.

Назначение макроса объекту, фигуре или графике

  1. На рабочем листе щелкните правой кнопкой мыши объект, графику, фигуру или элемент, которым вы хотите назначить существующий макрос, и выберите Назначить макрос.

  2. В поле Назначить макрос щелкните макрос, который вы хотите назначить.

  3. 90 124 90 150

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

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

Назначение макроса элементу управления на листе

Вы можете назначать макросы формам и элементам управления ActiveX на рабочем листе.

Включить или отключить макросы в файлах Office

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

Запуск редактора Visual Basic

Нажмите Alt + F11

Получить справку по использованию редактора Visual Basic

Узнайте, как найти справку по элементам Visual Basic.

Работа с зарегистрированным кодом в редакторе Visual Basic

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

Дополнительные сведения об изменении зарегистрированного кода и примеры см. в разделе Введение в VBA в Excel.

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

Вам может быть полезна следующая информация о макросах:

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

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

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

Макросы и инструменты VBA находятся на вкладке Developer , которая по умолчанию скрыта, поэтому первым шагом является включение этой вкладки.

  1. Перейти к Excel > Настройки... > Лента и инструменты .

  2. В категории Настроить Ленту в списке Основные вкладки установите флажок Разработчик и нажмите Сохранить .

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

  1. На вкладке Разработчик щелкните Запись макроса .

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

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

  3. В списке Сохранить макрос в выберите место для сохранения макроса.

    Как правило, макросы сохраняются в этой книге, но если вы хотите, чтобы макрос был доступен при каждом использовании макроса, выберите личную книгу макросов Excel. Когда вы выбираете Workbook Personal Macros , Excel скрывает личную книгу макросов (PERSONAL.XLSB), если она еще не существует, и сохраняет макрос в этой книге. Книги в этой папке открываются автоматически с каждым макросом Excel, и любой код, сохраненный в личной книге макросов, будет указан в диалоговом окне «Макрос», описанном в следующем разделе.

  4. Чтобы назначить сочетание клавиш для запуска макроса, в поле «Сочетание клавиш» введите любую букву (прописную и строчную), которую вы хотите использовать. Лучше всего использовать комбинации клавиш, которые не соответствуют существующим сочетаниям клавиш, поскольку сочетание клавиш макроса заменяет соответствующее сочетание клавиш Excel по умолчанию, когда открыта рабочая книга, содержащая макрос.

  5. В поле Описание можно дополнительно ввести краткое описание работы макроса.

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

  6. Нажмите OK , чтобы начать запись.

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

  8. На вкладке Developer нажмите Stop Logging .

Работа с записанными макросами в Excel

На вкладке Разработчик щелкните Макросы , чтобы просмотреть макросы, связанные с книгой.Это откроет диалоговое окно Macro .

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

Дополнительные сведения о работе с макросами в Excel см. ниже.

Задача

Описание

Включить и отключить макросы

Узнайте, как включать и выключать макросы в Excel для Mac.

Копирование модуля макроса в другую книгу

Если ваша книга содержит макрос VBA, вы можете скопировать модуль с этим макросом в другую открытую книгу с помощью редактора Microsoft Visual Basic, а затем использовать макрос в другом месте.

Назначение макроса объекту, фигуре или графике

  1. На рабочем листе щелкните правой кнопкой мыши объект, графику, фигуру или элемент, которым вы хотите назначить существующий макрос, и выберите Назначить макрос.

  2. В поле Назначить макрос щелкните макрос, который вы хотите назначить.

  3. 90 124 90 150

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

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

Назначение макроса элементу управления на листе

Вы можете назначать макросы формам и элементам управления ActiveX на рабочем листе.

Запуск редактора Visual Basic

На вкладке Разработчик щелкните Visual Basic или Щелкните меню Сервис > Макрос > Visual Basic... .

Получить справку по использованию редактора Visual Basic

Узнайте, как найти справку по элементам Visual Basic.

.

Как создать макрос?

Макрос — это набор команд, благодаря которым мы можем автоматизировать процесс создания повторяющихся задач. В этом совете мы покажем вам, как зарегистрировать и использовать макрос.

  1. Первый шаг к созданию макроса — начать его запись. Для этого перейдите на вкладку View .
  2. В разделе Macros разверните список Macros и щелкните Зарегистрировать макрос.
  3. В открывшемся окне мы можем дать макросу свое имя, описать его или установить опцию хранения или ярлыка. Начинаем запись макроса, нажав ОК .
  4. На этом этапе мы выполняем все действия, которые мы бы сделали при создании задачи.
  5. После ввода объема действий на листе для завершения записи нажмите Остановить регистрацию в раскрывающемся меню Макросы .
  6. Готово. Вот так мы создали макрос. Первым шагом для запуска макроса является переход в окно «Записанные макросы» Показать макросы в раскрывающемся меню Макросы .
  7. Последний шаг — выбрать ранее созданный макрос и Нажав кнопку , запустите .

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

Вам нравится эта статья? Поделись с другими!

.

Что такое макрос Excel и для чего он нужен? - Курсы, Обучение

Макрос — очень распространенное слово в Excel, особенно на более высоких уровнях знания программы. Проще говоря, макрос — это мини-программа, написанная на языке программирования VBA, который чаще всего используется для автоматизации действий , которые мы выполняем в Excel, но не только. Используя макросы, мы также можем создавать пользовательские функции, которые затем можно использовать в электронной таблице Excel.Однако в этой статье мы сосредоточимся на первом варианте.

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

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

Запись макроса по сравнению с код почерка

Мы только что упомянули, что макросы написаны на языке программирования VBA, и это правда, но вам не нужно знать язык, чтобы использовать или создавать их.Microsoft предлагает нам макрорекордер, который может перенести ряд наших «щелкающих» действий в программе в код, написанный на в VBA (Visual Basic for Application) . Однако для использования макросов стоит включить вкладку Developer на ленте. Показать это очень простое дело, достаточно кликнуть правой кнопкой мыши по любой из вкладок, выбрать из списка кнопку Customize Ribbon и в открывшемся окне выбрать вкладку с названием Developer в списке.Отныне он будет постоянно отображаться в Excel.

Благодаря вкладке Разработчик у нас есть быстрый доступ к инструментам, полезным при работе с макросами. Конечно, есть кнопка Запись макроса , которая откроет окно регистратора. Мы введем в него имя макроса, например, Cell_formatting , горячую клавишу, если мы хотим, местоположение макроса и описание (необязательно). После нажатия OK начнется запись — с этого момента каждое движение, сделанное в Excel, будет записываться и переводиться в VBA.

Например, мы создадим макрос форматирования короткой ячейки следующим образом:

  • выравнивание текста по центру,
  • черный цвет фона,
  • белый цвет шрифта,
  • жирный шрифт,
  • размер шрифта 20.

Ниже мы видим, как определенные команды, данные мышью, переводятся в VBA.

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

Написав вручную команды в VBA, мы получим гораздо более читаемый код, занимающий меньше места, выполняющийся быстрее и не ограничивающий себя только тем, что можно "щелкнуть" в программе. При написании макросов вручную единственным нашим ограничением является голова и знание языка VBA.

Запуск макросов

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

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

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

Оптимизация кода

Те несколько шагов, которые сделал макрос, произошли относительно быстро.Но можно ли быстрее? Да, конечно! Наш пример очень простой, он ускорил выполнение нескольких тривиальных шагов, но при этом было прописано много строк кода. Макрос работает таким образом, что каждая строка кода выполняется в порядке сверху вниз. Каждая строка имеет значение и влияет на производительность. Мы можем быстро увидеть, что запись более сложных действий увеличит код во много раз. Во избежание этого следует оптимизировать код, т.е. выкинуть ненужные нам на данный момент строки.Ниже приведен пример такого же макроса, но оптимизированного только до необходимого минимума — выбрасывались строчки кода, которые были записаны, но не повлияли на работу нашего макроса.

Преимущества и недостатки макросов

Являются ли макросы всеми преимуществами? Как и у всего на свете, у макросов есть свои преимущества (ускорение работы, автоматизация, выполнение действий, которые невозможно сделать из Excel), но также и недостатки. Последние, с другой стороны, включают риски, связанные с безопасностью.

Макросы — это мини-программы, которые могут выполнять код. К сожалению, не всегда код, который кто-то создает, должен помочь нам решить проблему или облегчить нашу работу. Бывает, что пользователи создают вредоносный код, который может заразить наш компьютер, подключившись к веб-сайту и загрузив вредоносный файл. С помощью макроса также можно удалить файлы с компьютера или отключить его. Поэтому стоит подходить к вопросу макросов со здравым смыслом, особенно если мы скачиваем файл Excel из интернета и он содержит макросы - если мы не уверены, что источник, из которого мы скачиваем файл, настоящий и доверенный - это лучше не открывать такой файл, потому что код выполняется настолько быстро, что если он вредоносный, мы, вероятно, не успеем среагировать до его выполнения.

Microsoft

, конечно же, знает об этих рисках, поэтому рекомендует нам не включать содержимое в файлы, загруженные из Интернета, у нас также есть специальные расширения файлов, которые сообщают нам, с чем мы можем иметь дело. Если мы видим файл с расширением .xls или .xlsm , у нас должно возникнуть подозрение, что внутри может (но не обязательно) содержать макрос . Файл .xls — это более старый формат, файл .xlsm — более новый, оба из которых позволяют хранить в них макросы.Если мы встретим формат .xlsx , мы можем быть уверены, что макрос не содержит макроса .

Стоит ли изучать VBA и макросы?

Учиться, конечно, стоит, но делать это нужно с умом. Хорошей основой для входа в мир макросов и VBA является предварительное понимание принципов работы программы и функциональности самого Excel. Раньше макросы чаще всего использовались для создания инструментов для работы с данными, потому что Excel таких инструментов не предлагал.На данный момент программа содержит множество инструментов, то и дело появляются новые функции, также у нас есть такие надстройки, как Power Pivot или Power Query, которые кардинально меняют работу с большими наборами данных. Лучшее решение - сначала ознакомиться с этими инструментами и тем, что предлагает Excel, а уже потом интересоваться макросами, потому что может оказаться, что то, чего мы хотим добиться, уже придумано и реализовано в Excel как инструменте - и тут он Следует отметить, что готовый инструмент в Excel всегда будет работать быстрее, чем даже самый качественно написанный и оптимизированный макрос.

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

Обучение:

.

Как создать свой первый макрос Excel с помощью VBA?

На этом уроке вы узнаете, как создать свой первый макрос Excel с помощью VBA. В этом уроке мы создадим простую процедуру, которая покажет сообщение пользователю в отдельном окне.

Что в этом уроке?

Чтобы иметь возможность программировать на VBA и создавать макросы в Excel, нам нужно сделать так, чтобы вкладка «Разработчик» отображалась в верхнем меню ленты. Без этой вкладки у вас не будет доступа к соответствующим инструментам, которые позволят вам программировать на VBA.Чтобы эта вкладка появилась, вам нужно нажать File в верхнем левом меню, а затем нажать Options . Затем вам нужно выбрать Customize Ribbon и в правой колонке поставить галочку под названием Developer и нажать OK .

Теперь мы можем перейти на только что появившуюся вкладку Разработчик. Там мы найдем несколько кнопок. Нас интересует тот, который называется Visual Basic , который находится слева.Мы нажимаем на него, и появляется редактор VBA. В этом редакторе нам нужно создать новый модуль. Делаем так, что в верхнем меню нажимаем на Вставить а потом на Модуль .

Следующим шагом является создание новой процедуры. Код VBA разделен на процедуры, и когда мы запускаем макрос, Excel выполняет одну или несколько процедур. Одна процедура может запускать другую процедуру и т. д. Вы узнаете об этом больше в следующих уроках. На следующем уроке мы будем использовать только одну процедуру, чтобы вы могли освоить основы VBA.

Как только мы создали такую ​​процедуру, мы поместим в нее функцию MsgBox . Это простая функция, которая заставляет Excel отображать окно сообщения. К концу этого урока вы научитесь запускать свой макрос. Один из способов — вставить кнопку в электронную таблицу Excel, которая активирует макросы.

Чтобы вернуться на предыдущую страницу со списком всех бесплатных уроков, нажмите на эту ссылку. Если вы хотите сразу перейти к следующему руководству, нажмите здесь: Excel VBA — функция диапазона.

.

Самые полезные макросы Excel - Мир ПК

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

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

Основы создания макросов

Макросы создаются путем их записи. Для этого нажмите Запись макроса на вкладке Вид .

См. также:

Запись макроса. Фото: H Tur/PC World

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

  • Имя макроса - первый символ должен быть буквой, остальное имя должно состоять из любых букв, цифр и/или знаков подчеркивания;
  • Клавиша быстрого доступа — доступны сочетания клавиш [Ctrl J] и [Ctrl M]. Выбрав другой ярлык, вы перезапишете другой макрос, назначенный ему до сих пор;
  • Сохранить макрос в — макросы сохранены как Новая книга или Эта книга работает только в этих книгах.Чтобы макрос был доступен на всех рабочих листах и ​​в рабочих книгах, его необходимо сохранить как Personal Macro Workbook ;
  • Описание - При необходимости здесь можно ввести краткий пояснительный текст.

Фото: H Tur/PC World

Макросы используются для автоматизации часто повторяющихся действий , поэтому они должны быть разработаны для использования на всех или, по крайней мере, на большинстве листов. Поэтому не следует заранее указывать диапазон ячеек (например,C1, D1), если только все листы не имеют одинаковую структуру. Чтобы макрос работал в разных книгах с похожей структурой, с помощью клавиш со стрелками задайте диапазон (в этом случае адреса ячеек роли не играют) и начинайте каждый раз с ячейки А1.

Реорганизация и форматирование импортированных данных

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

Откройте книгу CSV, создайте новый макрос (см. выше) и запишите следующее.

1. Поместите курсор в ячейку A1. Удерживая нажатой клавишу [Ctrl], выберите столбцы, которые хотите удалить. Выберите меню Главная | Удалить | Удалите столбцы для листа .

Начните очистку рабочего листа, удалив ненужные столбцы.

2. Снова нажмите и удерживайте клавишу [Ctrl] и выберите остальные столбцы.Нажмите меню Главная | Формат | Ширина столбца . Установите нужную ширину.

3. Выбрать все данные на листе (клавиши [Ctrl Home] и [Ctrl A]). Выберите меню Главная | Сортировать и фильтровать | Пользовательская сортировка . В поле списка Сортировка по выберите столбец, по которому следует упорядочить книгу. В поле Сортировка отметьте Значения , а в поле Порядок выберите От А до Я .

На следующем шаге отсортируйте данные листа (здесь: по названию компании).

4. Щелкните значок квадрата в левой части зеленой полосы в нижней части окна. Таким образом, вы остановите запись макроса. Сохраните книгу как файл Excel. Затем снова откройте файл CSV, щелкните меню Developer | Macros , выберите только что записанный макрос и нажмите Run . Вся книга будет отформатирована по вашему вкусу всего за несколько секунд.

Готовые макросы запускаются через ленту разработчика.

Разделить столбцы с именами и фамилиями

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

Откройте нужную книгу Excel, создайте новый макрос (см. выше) и запишите следующие действия.

1. Поместите курсор в первый столбец и выберите собранные данные с помощью клавиш [Ctrl A]. Выберите меню Данные | Текст в виде столбцов . В новом окне отметьте Split- и нажмите Next . На следующей странице выберите символ, который будет разделять имя и фамилию в вашей книге. Например, установите флажок Пробел . Нажмите Далее , выберите Текст и подтвердите нажатием Готово .

Функция «Текст как столбцы» позволяет поместите имя и фамилию в отдельные столбцы.

2. Поместите курсор в ячейку A1 (клавиши [Ctrl Home]) и нажмите [Ctrl A]. Выберите меню Главная | Сортировать и фильтровать | Пользовательская сортировка . В списке Сортировать по выберите Столбец B (Имена). Нажмите Добавить уровень и проверьте Столбец A в списке Затем на .В поле Сортировка оставьте параметр по умолчанию Значения , а в поле Порядок оставьте параметр От А до Я .

Многоуровневая сортировка - сначала по фамилии, потом по имени.

3. Перейти к ячейке A1. Нажмите [Shift Right Arrow], чтобы выбрать ячейки A1 и B1. Нажмите меню Главная | Формат | Ширина столбца , а затем введите 15 .

4. Вернитесь в ячейку A1. Нажмите меню Главная | Вставить | Вставьте строки рабочего листа . В пустую ячейку А1 введите название Общее количество людей: . Перейдите к ячейке B1 с помощью клавиши [Стрелка вправо], введите = СЧЕТЧИК (), затем нажмите [Ctrl Стрелка вниз], [End], [Shift Стрелка вниз], [Enter], [Ctrl Home] Количество людей на листе появится в ячейке B1 ..

5. Остановить запись макроса и сохранить его.

Сначала нужно вставить формулу, подсчитывающую количество людей на листе, а затем запустить макрос.

Разделить столбцы с двумя именами

Что делать, если в списке есть люди с двумя именами или инициалами? Макрос ниже извлекает его и объединяет с первым именем. Таким образом, вы получите одну колонку с фамилиями и другую с именами и/или инициалами. Откройте книгу Excel, создайте новый макрос (см. выше) и запишите следующее.

1. Выберите данные в столбце имени и фамилии, нажав клавиши [Ctrl Home] и [Ctrl A]. Щелкните меню Данные | Текст в виде столбцов , а в новом окне выберите Разделители и нажмите Далее . Установите флажок Пробел и подтвердите нажатием кнопок Далее и Выход . Таблица фамилий и имен теперь состоит из трех столбцов.

2. Выберите все три столбца и выберите меню Главная | Сортировать и фильтровать | Пользовательская сортировка .В списке Сортировать по выберите Столбец C . (фамилии). Нажмите Добавить уровень и проверьте Столбец A в списке Затем на . В поле Сортировка оставьте параметр по умолчанию Значения , а в поле Порядок оставьте параметр От А до Я .

3. Дважды нажмите клавиши [Ctrl Home] и клавишу [Стрелка вправо]. Затем нажмите [Конец], [Стрелка вниз] дважды и [Стрелка вправо] один раз.Это перейдет к первой пустой ячейке в столбце C, а затем к соседней ячейке в столбце D. Введите STOP в этой ячейке. Нажмите клавиши [Стрелка вверх], [Конец], [Стрелка вверх]. Введите формулу = A1 & "" & B1 , затем нажмите [Enter] и [Стрелка вверх].

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

4. Нажмите [Ctrl C], а затем [Стрелка вниз]. Удерживая нажатой [Shift], последовательно нажимайте [End], [Стрелка вниз], [Стрелка вверх], [Enter]. Вот как вы копируете формулу. Нажмите [Стрелка вверх], удерживайте нажатой [Shift] и нажмите [Конец], затем [Стрелка вниз], затем [Стрелка вверх]. Таким образом вы разметите область до текста STOP .

5. Нажмите клавиши [Ctrl C] и [Ctrl Home]. Выберите меню Главная | Вставить | Вставить специальные | Значения .Дважды нажмите клавишу [Esc], клавишу [Ctrl Home] и клавишу [Стрелка вправо]. Удерживая клавишу [Shift], нажмите [End], [Стрелка вниз], [Ctrl C], [Стрелка влево] и [Enter], чтобы скопировать имена. Нажмите [Стрелка вправо], а затем [Shift Стрелка вправо].

6. Меню выбора Главная | Удалить | Удалите столбцы для листа . Нажмите клавиши [Ctrl Home]. Сохраните документ, откройте предыдущую книгу и запустите макрос.

Скопируйте и вставьте формулу. Только после этого удалите лишний столбец.

Введите один и тот же текст несколько раз

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

Откройте новую книгу, создайте макрос (см. выше) и запишите следующее.

1. Нажмите клавиши [Ctrl Home].Удерживая [Shift], дважды нажмите клавишу [Стрелка вправо]. Выберите меню Главная | Слияние и центрирование | Объединить все . Введите формулу = СЕГОДНЯ () в ячейку A1. Нажмите клавиши [Ввод] и [Стрелка вверх]. Выберите меню Главная | Формат | Формат ячеек | Дата . Выберите нужный формат из списка и нажмите OK . Дважды нажмите клавишу [Стрелка вниз].

2. Введите повторяющийся текстовый элемент, подтверждая нажатием клавиши [Enter] в конце каждой строки.Нажмите клавишу [Стрелка вниз]. Выберите меню Разработчик | Остановить регистрацию . Удалите все содержимое книги, разделите ячейки A1-A3 и запустите макрос. Затем сохраните книгу.

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

Удалить пустые строки

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

Откройте рабочую книгу с пустыми строками, создайте новый макрос (см. выше) и запишите следующее.

1. Нажмите клавиши [Ctrl Home]. Хотя нажатие [Ctrl A] не выделит все содержимое рабочего листа, когда в нем есть пустые строки, вы сделаете это с помощью макроса ниже.

2. Меню выбора Главная | Вставить | Вставьте столбцы листа . Нажмите [Конец], [Стрелка вниз], [Стрелка вправо], [Конец], [Стрелка вверх].Затем нажмите [Ctrl Shift Home], [Shift Стрелка вправо], [Ctrl Shift Стрелка вправо]. Таким образом вы выберете всю область данных.

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

3. Выбрать меню Главная | Найти и выбрать | Перейти к - конкретно . Отметьте Empty и нажмите OK , пустые строки будут выделены серым фоном.Выберите меню Главная | Удалить | Удалить ячейки | Переместите ячейки вверх на . Пустые строки исчезнут. Нажмите клавиши [Ctrl Home], а затем выберите меню Home | Удалить | Удалите столбцы листа , чтобы удалить ранее вставленный столбец.

4. Остановить запись макроса. Отмените все операции, затем запустите макрос. Сохраните книгу.

.

способов запуска макросов в Excel

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

  1. На ленте выберите вкладку Разработчик .
  2. В группе Код ищем кнопку Макрос и нажимаем ее.
  3. В поле Имя макроса щелкните имя макроса, который необходимо запустить.
  4. Нажмите кнопку Выполнить .

Рисунок 1. Список макросов для запуска

Если мы не видим вкладку Разработчик в Excel (она не включена по умолчанию), то:

  1. На вкладке Файл выберите Параметры , , а затем Настроить ленту .
  2. В списке Основные карты выберите Разработчик и нажмите ОК .
Обратите внимание, что независимо от того, как вы запускаете макрос, он не будет выполняться, если вы выбрали в параметре безопасности макросов Отключить все макросы без уведомления .

Мы можем без изменения глобальных настроек Excel разрешить временное выполнение всех макросов:

  1. На карточке Разработчик в группе Код нажать кнопку Безопасность макросов .
  2. В категории Настройки макроса в разделе Настройки макроса выберите Включить все макросы (не рекомендуется, может запускаться опасный код) и нажмите OK .

Рисунок 2. Мы разрешаем временный запуск макросов

Запуск макроса с помощью сочетания клавиш

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

  1. Из карточки Разработчик в группе Код выбрать кнопку Макросы .
  2. В поле Имя макроса введите имя макроса, который вы хотите связать с сочетанием клавиш.
  3. Теперь нажмите Options - откроется новое окно Macro Options .
  4. В поле Shortcut key введите любую букву, которая будет использоваться с клавишей [CTRL] в качестве ярлыка для макроса.

Мы можем вводить как прописные, так и строчные буквы. Например, ввод [M] назначит сочетание клавиш [CTRL] + [SHIFT] + [M] для макроса.

  1. В поле Описание можно добавить краткое описание макроса.
  2. Нажмите OK , чтобы сохранить изменения, затем Cancel , , чтобы закрыть диалоговое окно Macro .

Рисунок 3. Параметры макроса — добавление сочетания клавиш

Запуск макроса с помощью кнопки на панели быстрого доступа

Доступ к панели инструментов.

Для этого:

  1. Перейдите на вкладку File и выберите Options .
  2. Нажмите Панель быстрого доступа и из списка Выберите команды выберите Макросы .
  3. Выбираем макрос, для которого мы хотим создать кнопку на Панели быстрого доступа и нажимаем Добавить . Мы можем изменить изображение кнопки макроса, выбрав этот макрос в поле, в котором он появляется, а затем нажав Modify . Теперь выбираем изображение в области Symbol . Также мы можем изменить название макроса (т.е. то, что отображается после наведения мышки на кнопку) — для этого используется поле Отображаемое имя .
  4. Нажмите OK , , чтобы подтвердить изменения.

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

Запуск макроса по щелчку на графическом объекте

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

Для этого:

  1. Вставляем графический объект в лист.
  2. Из карточки Вставляем в группу Иллюстрации ищем Фигуры и выбираем фигуру, которую хотим использовать в качестве активной точки.
  3. Рисуем фигуру на ранее вставленном объекте.
  4. Щелкните правой кнопкой мыши нарисованную фигуру и выберите Кнопка макроса из контекстного меню.

Рисунок 4. Назначаем макрос активной точке

90 118
  • Дважды щелкните выбранный макрос или введите его имя в поле Имя макроса .
  • Нажмите ОК .
  • Чтобы фигура не была видна (не загораживала графический объект), а выполняла свою функцию, на вкладке Формат в группе Стили фигур раскрываем список Заливка фигуры и выбираем Без заливки .

    .

    Смотрите также

    Только новые статьи

    Введите свой e-mail

    Видео-курс

    Blender для новичков

    Ваше имя:Ваш E-Mail: