Як запустити макрос в Excel і створити кнопку макросу

  • Поділитися Цим
Michael Brown

У цьому уроці ми розглянемо різні способи запуску макросу в Excel - зі стрічки та редактора VB, за допомогою спеціальної комбінації клавіш, а також шляхом створення власної кнопки макросу.

Хоча для досвідчених користувачів запуск макросу в Excel є простою справою, для новачків це може бути не відразу очевидно. У цій статті ви дізнаєтеся про декілька способів запуску макросів, деякі з яких можуть повністю змінити ваш спосіб взаємодії з книгами Excel.

    Як запустити макрос зі стрічки Excel

    Одним з найшвидших способів виконання VBA в Excel є запуск макросу з Розробник Якщо ви ніколи раніше не мали справи з кодом на VBA, можливо, вам доведеться спочатку активувати вкладку "Розробник". А потім виконати наступне:

    1. Про це йдеться на Розробник у вкладці Код групу, натисніть Макроси або натисніть комбінацію клавіш Alt + F8.
    2. У діалоговому вікні, що з'явилося, виберіть макрос, що цікавить, і натисніть кнопку Біжи .

    Порада. Якщо вкладка "Розробник" не додана в стрічку Excel, натисніть Alt + F8, щоб відкрити вікно Макрос діалог.

    Запуск макросу за допомогою користувацького поєднання клавіш

    Якщо ви регулярно виконуєте певний макрос, ви можете призначити йому клавішу швидкого доступу. Додати клавішу швидкого доступу можна як під час запису нового макросу, так і до вже існуючого. Для цього виконайте такі дії:

    1. Про це йдеться на Розробник у вкладці Код групу, натисніть Макроси .
    2. В рамках проекту Макрос діалогове вікно, натисніть Опції .
    3. На сьогоднішній день, на жаль, це не так. Параметри макросу з'явиться діалогове вікно Ярлик введіть будь-яку велику або малу літеру, яку ви хочете використовувати для ярлика, а потім натисніть кнопку ОК, щоб зберегти зміни.
      • Для малих літер використовується комбінація клавіш Ctrl + літера .
      • Для великих літер комбінація клавіш Ctrl + Shift + літера .
    4. Закрийте Макрос діалогове вікно.

    Порада. Рекомендується завжди використовувати верхній регістр комбінації клавіш для макросів ( Ctrl + Shift + буква ), щоб не перевизначати стандартні комбінації клавіш Excel. Наприклад, якщо призначити макросу Ctrl + f, ви втратите можливість викликати команду Знайти і замінити діалог.

    Після призначення комбінації клавіш просто натисніть цю комбінацію клавіш, щоб запустити макрос.

    Як запустити макрос з редактора VBA

    Якщо ви прагнете стати Excel-профі, то обов'язково повинні знати, як запустити макрос не тільки з Excel, але і з редактора Visual Basic. Хороша новина полягає в тому, що це набагато простіше, ніж ви могли б очікувати :)

    1. Натисніть Alt + F11, щоб запустити редактор Visual Basic.
    2. В рамках проекту Project Explorer зліва, двічі клацніть по модулю, що містить ваш макрос, щоб відкрити його.
    3. В рамках проекту Код праворуч ви побачите всі макроси, перераховані в модулі. Встановіть курсор в будь-якому місці макросу, який ви хочете виконати, і зробіть одну з наступних дій:
      • У рядку меню натисніть Біжи > Виконати Sub/UserForm .
      • На панелі інструментів натисніть кнопку Запустити макрос (зелений трикутник).

      Крім того, Ви можете скористатися одним з наступних ярликів:

      • Натисніть F5, щоб запустити весь код.
      • Натисніть F8, щоб запустити кожен рядок коду окремо. Це дуже зручно при тестуванні і налагодженні макросів.

    Порада: Якщо ви полюбляєте працювати з Excel з клавіатури, вам може стати в нагоді ця інструкція: 30 найкорисніших комбінацій клавіш у Excel.

    Як створити макро-кнопку в Excel

    Традиційні способи запуску макросів не є складними, але все ж можуть становити проблему, якщо ви ділитеся робочою книгою з кимось, хто не має досвіду роботи з VBA - він просто не знатиме, де шукати! Щоб зробити запуск макросу дійсно простим та інтуїтивно зрозумілим для будь-кого, створіть власну кнопку макросу.

    1. Про це йдеться на Розробник у вкладці Елементи управління групу, натисніть Вставка і виберіть Кнопка під З управління .
    2. Клацніть в будь-якому місці робочого аркуша. Відкриється вікно Призначити макрос діалогове вікно.
    3. Виберіть макрос, який ви хочете призначити кнопці, і натисніть на ГАРАЗД. .
    4. Кнопка буде вставлена на аркуш. Щоб змінити текст кнопки, клацніть правою кнопкою миші по кнопці і виберіть Редагувати текст з контекстного меню.
    5. Видаліть текст за замовчуванням, такий як Кнопка 1 За бажанням можна відформатувати текст напівжирним або курсивом.
    6. Якщо текст не вміщується на кнопці, збільште або зменшіть розмір кнопки, перетягуючи ручки зміни розміру. Після завершення клацніть в будь-якому місці аркуша, щоб вийти з режиму редагування.

    Тепер ви можете запустити макрос, натиснувши на його кнопку. Макрос, який ми призначили, форматує виділені комірки так, як показано на скріншоті нижче:

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

    Створення макро-кнопки з графічного об'єкта

    На жаль, немає можливості налаштовувати зовнішній вигляд елементів управління кнопок, через що створена нами хвилину тому кнопка виглядає не дуже красиво. Щоб зробити дійсно красиву кнопку макросу Excel, можна використовувати фігури, піктограми, зображення, WordArt та інші об'єкти.

    Як приклад, я покажу вам, як можна запустити макрос, клацнувши по фігурі:

    1. Про це йдеться на Вставка у вкладці Ілюстрації групу, натисніть Форми та оберіть потрібний тип фігури, наприклад, прямокутник із закругленими кутами:
    2. На аркуші клацніть там, де потрібно вставити об'єкт фігури.
    3. Відформатуйте свою шейп-кнопку так, як вам потрібно. Наприклад, ви можете змінити колір заливки і контуру або використовувати один з готових стилів на сторінці Формат фігури Щоб додати текст до фігури, просто двічі клацніть по ній і почніть вводити текст.
    4. Щоб зв'язати макрос з фігурою, клацніть правою кнопкою миші по об'єкту фігури, виберіть Призначити макрос..., потім виберіть потрібний макрос і натисніть ГАРАЗД. .

    Тепер у вас є форма, яка виглядає як кнопка і при натисканні на неї запускає призначений макрос:

    Як додати кнопку макросу на панель швидкого доступу

    Кнопка макросу, вставлена на аркуші, виглядає добре, але додавання кнопки на кожен аркуш забирає багато часу. Щоб зробити улюблений макрос доступним з будь-якого місця, додайте його на панель інструментів швидкого доступу. Ось як це зробити:

    1. Клацніть правою кнопкою миші на панелі швидкого доступу і виберіть Більше команд... з контекстного меню.
    2. В рамках проекту Вибирайте команди з список, виберіть Макроси .
    3. У списку макросів виберіть той, який потрібно призначити кнопці, і натисніть Додати При цьому вибраний макрос буде переміщено до списку кнопок Панелі швидкого доступу праворуч.

      На цьому етапі ви можете натиснути OK, щоб зберегти зміни або виконати ще кілька налаштувань, описаних нижче.

    4. Якщо ви вважаєте, що піктограма, додана Microsoft, не підходить для вашого макросу, натисніть Змінити замінити піктограму за замовчуванням на іншу.
    5. В рамках проекту Кнопка "Змінити виберіть піктограму для кнопки макросу. За бажанням ви також можете змінити значення параметра Ім'я користувача На відміну від назви макросу, назва кнопки може містити пробіли.
    6. Двічі натисніть OK, щоб закрити обидва діалогових вікна.

    Готово! Тепер у вас є власна кнопка Excel для запуску макросу:

    Як розмістити кнопку макросу на стрічці Excel

    Якщо у вас є кілька часто використовуваних макросів у вашому наборі інструментів Excel, вам може виявитися зручним мати власну групу стрічок, скажімо Мої макроси і додайте всі популярні макроси до цієї групи у вигляді кнопок.

    Спочатку додайте користувацьку групу до існуючої вкладки або до власної вкладки. Детальну інструкцію дивіться тут:

    • Як створити власну вкладку стрічки
    • Як додати користувацьку групу

    А потім додайте кнопку макросу до своєї користувацької групи, виконавши ці дії:

    1. Клацніть правою кнопкою миші по стрічці, а потім натисніть Налаштувати стрічку .
    2. У діалоговому вікні, що з'явилося, виконайте наступні дії:
      • У вкладках списку праворуч виберіть потрібну вам групу.
      • В рамках проекту Вибирайте команди з у списку зліва виберіть Макроси .
      • У списку макросів виберіть той, який ви бажаєте додати до групи.
      • Натисніть на кнопку Додати кнопку.

      Для цього прикладу я створив нову вкладку з назвою Макроси і користувацьку групу під назвою Макроси форматування На скріншоті нижче ми додаємо Format_Headers макрос до цієї групи.

    3. Макрос додано до групи користувацьких стрічок. Щоб дати кнопці макросу більш дружню назву, виберіть її та натисніть Перейменувати :
    4. В рамках проекту Перейменувати введіть будь-яке ім'я в поле "Ім'я" діалогового вікна Ім'я користувача (у назвах кнопок допускаються пробіли) і виберіть піктограму для вашої макро-кнопки. Після цього натисніть кнопку "ОК".
    5. Натисніть ГАРАЗД. щоб зберегти внесені зміни та закрити головне діалогове вікно.

    Наприклад, я розмістив три кнопки макросів на своїй стрічці Excel і тепер можу запустити будь-яку з них одним натисканням кнопки:

    Як запустити макрос при відкритті книги

    Іноді може виникнути потреба в автоматичному запуску макросу при відкритті робочої книги, наприклад, для відображення якогось повідомлення, запуску скрипта або очищення певного діапазону. Це можна зробити двома способами.

    Автоматичний запуск макросу при використанні події Workbook_Open

    Нижче описані кроки для створення макросу, який автоматично запускається при відкритті певної книги:

    1. Відкрийте книгу, в якій потрібно виконати макрос.
    2. Натисніть Alt + F11, щоб відкрити редактор Visual Basic.
    3. У Провіднику проекту двічі клацніть ThisWorkbook щоб відкрити вікно Коду.
    4. В рамках проекту Об'єкт у списку над вікном "Код" виберіть Робочий зошит Це створює порожню процедуру для Відкрито подія, до якої можна додати власний код, як показано на скріншоті нижче.

    Наприклад, наступний код буде відображати вітальне повідомлення при кожному відкритті робочої книги:

    Private Sub Workbook_Open() MsgBox "Ласкаво просимо до місячного звіту!" End Sub

    Запуск макросу при відкритті книги за подією Auto_Open

    Іншим способом автоматичного запуску макросу при відкритті книги є використання події Auto_Open. На відміну від події Workbook_Open, Auto_Open() повинен знаходитись в стандартному модулі коду, а не в ThisWorkbook .

    Наводимо кроки для створення такого макросу:

    1. В рамках проекту Project Explorer клацніть правою кнопкою миші Модулі , а потім натисніть Вставка > Модуль .
    2. В рамках проекту Код напишіть наступний код:

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

    Sub Auto_Open() MsgBox "Ласкаво просимо до місячного звіту!" End Sub

    Зверніть увагу! Авто_відкриття застаріла і доступна для зворотної сумісності. У більшості випадків її можна замінити на Робоча книга_Відкрита Для отримання додаткової інформації, будь ласка, дивіться Workbook_Open vs. Auto_Open.

    Яку б подію ви не використали, ваш макрос буде запускатися автоматично при кожному відкритті файлу Excel, що містить код. У нашому випадку виводиться наступне вікно повідомлення:

    Тепер, коли ви знаєте безліч способів запуску макросу в Excel, вам залишається тільки вибрати той, який найкраще підходить для ваших потреб. Дякую за увагу і сподіваюся побачити вас на нашому блозі наступного тижня!

    Майкл Браун — відданий ентузіаст технологій із пристрастю до спрощення складних процесів за допомогою програмних засобів. Маючи понад десятирічний досвід роботи в технологічній індустрії, він відточив свої навички роботи з Microsoft Excel і Outlook, а також із Google Таблицями та Документами. Блог Майкла присвячений тому, щоб поділитися своїми знаннями та досвідом з іншими, надаючи прості поради та навчальні посібники для підвищення продуктивності та ефективності. Незалежно від того, чи є ви досвідченим професіоналом чи початківцем, блог Майкла пропонує цінну інформацію та практичні поради щодо отримання максимальної користі від цих основних програмних інструментів.