Как добавить панель макросов в excel

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

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

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

  1. Откройте вкладку Файл и выберите пункт Параметры, а затем — категорию Панель быстрого доступа.

  2. В списке Выбрать команды из выберите пункт Макрос.

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

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

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

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

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

    Диалоговое окно "Изменение кнопки"

  7. Чтобы использовать более имя кнопки, в поле Отображаемая имя введите нужное имя.

    В имя кнопки можно ввести пробел.

  8. Дважды нажмите кнопку ОК.

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

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

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

  1. Щелкните Файл > Параметры > Настроить ленту.

  2. В списке Основные вкладки в списке Настроить ленту, если он еще не был проверен,в поле Разработчик.

    Диалоговое окно настройки ленты

  3. Выберите вкладку, на которой вы хотите добавить свою группу.

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

  4. Выберите Новая группа.

    При этом новая группа (настраиваемая) будет добавлена на вкладку, которую вы выбрали.

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

    В имени можно ввести пробел. Например, введите Мои макросы.

  6. Чтобы добавить макрос в группу, в списке Выбрать команды из выберите пункт Макрос.

  7. Выберите макрос, который вы хотите добавить в новую группу, и нажмите кнопку Добавить. Макрос будет добавлен в группу Мои макросы.

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

    В имени можно ввести пробел.

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

  10. Дважды нажмите кнопку ОК.

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

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

Более новые версии

  1. На вкладке Разработчик в группе Элементы управления щелкните Кнопка.

    Если вкладка «Разработчик» недоступна:

    1. Перейдите в Excel > параметры… >ленты & панели инструментов.

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

  2. Щелкните на листе место, где должен быть расположен левый верхний угол кнопки.

  3. В диалоговом окне Назначение макроса щелкните имя макроса, который вы хотите назначить кнопке, и нажмите ОК.

  4. Чтобы изменить размер кнопки, перетащите маркеры.

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

Excel 2011 для Mac

  1. На вкладке Разработчик в группе Элементы управления формы щелкните Кнопка.

    Если вкладка «Разработчик» недоступна:

    1. В правой части ленты нажмите кнопку Всплывающее меню "Действие"и выберите параметры ленты.

    2. В разделе Настройки установите флажок Разработчик.

  2. Щелкните на листе место, где должен быть расположен левый верхний угол кнопки.

  3. В диалоговом окне Назначение макроса щелкните имя макроса, который вы хотите назначить кнопке, и нажмите ОК.

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

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

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

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

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

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

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

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

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

Вкладка разработчика в ленте

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

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

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

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

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

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

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

Вы увидите, что как только вы нажмете кнопку «Выполнить», текст «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), появится окно кода, как показано ниже.

Код макроса в модуле

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

В 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. В группе «Код» нажмите кнопку «Относительные ссылки». Он будет подсвечиваться, указывая, что он включен.
    Запишите макрос в Excel - используя «Относительные ссылки»
  4. Нажмите кнопку «Запись макроса».
    Нажмите кнопку «Запись макроса» на вкладке «Разработчик».
  5. В диалоговом окне «Запись макроса» введите имя для своего макроса. Например, имя «ОтносительныеСсылки».
    Записать макрос в Excel - имя макроса
  6. В опции «Сохранить в» выберите «Эта книга».
  7. Нажмите «ОК».
  8. Выберите ячейку A2.
  9. Введите текст «Excel» (или другой как вам нравится).
  10. Нажмите клавишу Enter. Курсор переместиться в ячейку A3.
  11. Нажмите кнопку «Остановить запись» на вкладке «Разработчик».

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

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

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

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

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

Код макроса VBA для относительной ссылки

Обратите внимание, что в коде нет ссылок на ячейки 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

20.11.2007 17:06 | | |

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

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

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

Нажмите стрелку списка Выбрать команды из, а затем выберите Макросы

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

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

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

00_lead_image_macro_on_qat

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

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

01_selecting_more_commands

Откроется диалоговое окно «Параметры Excel» с активным экраном «Настройка панели быстрого доступа». Выберите «Макросы» из выпадающего списка «Выбрать команды из».

02_selecting_macros

Выберите нужный макрос из списка под выпадающим списком «Выбрать команды из» и нажмите «Добавить».

03_clicking_add

Макрос добавляется в список «Настройка панели быстрого доступа».

04_macro_added_to_qat_list

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

05_clicking_ok

Макросы могут быть записаны в Word и Excel. Мы показали, как добавить макрос на панель быстрого доступа в Excel 2016, но эта процедура также будет работать в Excel 2013 и Word 2013 и 2016.

ПРИМЕЧАНИЕ. Макросы — это, по сути, фрагменты компьютерного кода, которые потенциально опасны. Для получения дополнительной информации см. Нашу статью о том, почему файлы Microsoft Office могут быть опасными .

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

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

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

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

  1. Выберите инструмент: «РАЗРАБОТЧИК»-«Код»-«Макросы».
  2. Макросы.

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

Выполнить.

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

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

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

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



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

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

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

  1. Снова выберите инструмент: «РАЗРАБОТЧИК»-«Код»-«Макросы».
  2. РАЗРАБОТЧИК.

  3. В появившемся диалоговом окне «Макрос» выберите желаемую макропрограмму из списка и нажмите на кнопку «Параметры».
  4. Параметры.

  5. В появившемся диалоговом окне «Параметры макроса» в поле ввода «Сочетание клавиш: CTRL+» введите маленькую или большую латинскую букву. И нажмите на кнопку ОК.

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

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

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

SHIFT.

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

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

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

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

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

  3. В левом выпадающем списке «Выбрать команду из:» выберите опцию «Макросы».
  4. Выбрать команду из.

  5. В левом списке элементов ниже выберите необходимый макрос и нажмите на кнопку «Добавить». В результате чего в правом списке элементов появиться кнопка для нового инструмента быстрого запуска вашего макроса. Справа от правого списка элементов можно использовать стрелки для настройки положения и порядка расположения кнопок инструментов на панели быстрого доступа. И нажмите ОК.

панели быстрого доступа.

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

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

Изменить.

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

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

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

  1. Выберите инструмент: «РАЗРАБОТЧИК»-«Элементы управления»-«Вставить»-«Кнопка (элемент управления формы».
  2. Кнопка.

  3. Выделите курсором мышки место где и как будет вставлена кнопка для запуска макроса.
  4. будет вставлена кнопка.

  5. В появившемся окне «Назначить макрос объекту» из списка доступным макросов выберите желаемый и нажмите на кнопку ОК.
  6. Назначить макрос объекту.

  7. Теперь нужно назначить кнопку макросу. Правой кнопкой мышки щелкните по созданной кнопке и в появившемся контекстном меню выберите опцию «Изменить текст». Удалите старый и введите новый текст «Мой макрос».

Мой макрос.

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

Теперь если мы нажмем на кнопку левой кнопкой мышки сразу же выполниться назначенный ей код 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)



    macro1.png:

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

macro2.png

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

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

    macro3.png

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

    macro4.png

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

    macro5.png

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

macro6.png

Давайте разберем приведенный выше в качестве примера макрос 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)

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

macro7.png

  • Имя макроса — подойдет любое имя на русском или английском языке. Имя должно начинаться с буквы и не содержать пробелов и знаков препинания.
  • Сочетание клавиш — будет потом использоваться для быстрого запуска макроса. Если забудете сочетание или вообще его не введете, то макрос можно будет запустить через меню Сервис — Макрос — Макросы — Выполнить (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):

macro8.png

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

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

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

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

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

macro9.gif

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

macro10.gif

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

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

macro11.png

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

macro12.png

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

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

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

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

macro13.png

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

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

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

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

macro14.png

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

macro15.png

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

macro16.png

Это глава из книги Билла Джелена Гуру Excel расширяют горизонты: делайте невозможное с Microsoft Excel.

Задача: в двух предыдущих заметках мы рассказали, как запускать макросы клавиатурными сокращениями и кнопками, расположенными на листе Excel. Можно ли запустить макрос значком на панели инструментов?

Решение: почему-то при переходе с версии Excel 2003 на 2007 Microsoft уменьшил возможности использования иконок для запуска макросов. В Excel 2007 остался единственный способ (кроме кода VBA) использования иконок – добавление кнопки макроса на панель быстрого доступа. Выполните следующие действия.

Кликните правой кнопкой мыши в любом месте ленты и выберите Настройка панели быстрого доступа (рис. 1).

Рис. 1. Запуск настройки панели быстрого доступа

Рис. 1. Запуск настройки панели быстрого доступа

Скачать заметку в формате Word или pdf, примеры в формате Excel (с кодом VBA)

Откроется окно Параметры Excel на вкладке Панель быстрого доступа (рис. 2). В левом раскрывающемся списке выберите Макросы.

Рис. 2. Окно Параметры Excel

Рис. 2. Окно Параметры Excel (чтобы увеличить этот и следующие рисунки, кликните на картинке правой кнопкой мыши и выберите опцию Открыть картинку в новой вкладке).

Выберите требуемый макрос в списке левого окна и нажмите кнопку Добавить в центре диалогового окна (рис. 3).

Рис. 3. Добавить макрос MacroTolcon на панель быстрого доступа

Рис. 3. Добавить макрос MacroTolcon на панель быстрого доступа

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

Рис. 4. Изменение порядка расположения значков на панели быстрого доступа

Рис. 4. Изменение порядка расположения значков на панели быстрого доступа

По умолчанию каждому макросу соответствует одна и та же иконка. Чтобы изменить значок, нажмите кнопку Изменить (выделена на рис. 4). Вам доступны 181 иконка (рис. 5). Выберите ту, которая вам будет напоминать о действии макроса (я насчитал только 180 иконок 🙂 ). Измените отображаемое имя на что-то дружелюбное. Это имя будет всплывать при наведении курсора на значок в панели быстрого доступа.

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

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

Нажмите Оk, чтобы закрыть окно Изменение кнопки, а затем еще раз, чтобы закрыть диалоговое окно Параметры Excel. Новый значок появится на панели быстрого доступа (рис. 6).

Рис. 6. Новый значок появился на панели быстрого доступа

Рис. 6. Новый значок появился на панели быстрого доступа

Совет: начиная с Excel 2007 вы можете добавить на панель быстрого доступа значок, который будет появляться только когда открыта конкретная книга. Для начала кликните правой кнопкой мыши на значке макроса на панели быстрого доступа, и выберите опцию Удалить с панели быстрого доступа. Чтобы добавить значок только для одной книги, откройте окно Параметры Excel на вкладке Панель быстрого доступа. Это можно сделать, как описано на рис. 1, или кликнув на значок раскрывающегося списка на панели быстрого доступа (рис. 7), а затем выбрать опцию Другие команды.

Рис. 7. Вызов окна Параметры Excel из панели быстрого доступа

Рис. 7. Вызов окна Параметры Excel из панели быстрого доступа

В окне Параметры Excel (рис. 8) в правом раскрывающемся списке измените настройку с Для всех документов (по умолчанию) на Для <имя книги>. В нашем случае – Для Запуск макроса иконкой. Примеры.xlsm. После этого добавьте макрос на панель быстрого доступа, повторив действия, описанные на рисунках 2–5.

Рис. 8. Изменить настройку панели быстрого доступа только для одной книги

Рис. 8. Изменить настройку панели быстрого доступа только для одной книги

Резюме: в Excel 2007 запуск макроса иконкой можно выполнить путем добавления иконки на панель быстрого доступа.

Понравилась статья? Поделить с друзьями:
  • Как добавить ноль перед цифрой excel
  • Как добавить пакет анализ данных в excel
  • Как добавить новую функцию в excel
  • Как добавить отступ в ячейке excel
  • Как добавить ось справа в диаграмме excel