Як призначити макрос кнопці в Excel (простий посібник)

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

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

У цьому підручнику я покажу вам кілька способів вставити кнопку в Excel, а потім призначити макрос цій кнопці (або фігурі). Як тільки це буде зроблено, як тільки користувач натисне на кнопку, код VBA макросу буде виконано.

Для цілей цього підручника я буду використовувати наведений нижче макрокод VBA (який просто вибирає клітинку A1 на активному аркуші і вводить у неї текст «Доброго ранку» і забарвлює її в червоний колір).

Sub GoodMorning () З ActiveSheet.Range ("A1") .Value = "Доброго ранку" .Interior.Color = vb Червоний кінець з кінцевим підрозділом

Наведений вище код VBA розміщено у звичайному модулі у редакторі VB

Тепер давайте зануримось і подивимося, як можна призначити цей макрос кнопці або фігурі в Excel!

Вставте фігуру та призначте макрос цій формі

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

Я особисто люблю цей метод і вважаю за краще його над іншими двома методами, про які піде мова пізніше. Ви можете легко вставити форму (квадрат або прямокутник) і зробити її схожою на кнопку.

А оскільки це форма, ви можете легко відформатувати її так, щоб вона виглядала ідеально з вашим існуючим форматуванням або кольорами бренду.

Нижче наведено кроки для вставки фігури в Excel:

  1. Перейдіть на вкладку Вставка
  2. У групі ілюстрацій натисніть на фігури
  3. У параметрах фігур натисніть на опцію Прямокутник. Ви помітите, що курсор зміниться на значок плюса
  4. Клацніть будь -де на аркуші. Це додасть форму прямокутника до аркуша.
  5. Змініть розмір прямокутника та відформатуйте його (надайте йому рамку, колір, відтінок, якщо хочете).

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

Зверніть увагу, що я вставив форму прямокутника у цьому прикладі, але ви можете вставити будь -яку форму (наприклад, коло, трикутник або стрілку). Я вважаю за краще використовувати прямокутник, він виглядає як кнопка і більш інтуїтивно зрозумілий.

Тепер давайте подивимося, як призначити макрос цій формі.

  1. Клацніть правою кнопкою миші фігуру, якій потрібно призначити макрос
  2. У параметрах меню, що з’явиться, натисніть «Призначити макрос». Відкриється діалогове вікно призначення макросу
  3. У діалоговому вікні Призначити макрос ви побачите список усіх макросів, які є у вашій книзі
  4. Натисніть назву макросу, яку потрібно призначити цій фігурі. У цьому прикладі я натискаю макрос під назвою «GoodMorning
  5. Натисніть OK

Це воно!

Вибраний макрос тепер призначено фігурі.

Тепер, коли ви наведете курсор на фігуру, вона покаже значок руки. що вказує на те, що тепер ця форма стала інтерактивною.

І тепер, якщо ви натиснете на фігуру, вона запустить призначений макрос.

Ви можете ввести будь -який текст у формі, щоб зробити її більш інтуїтивно зрозумілою (наприклад, «Натисніть тут, щоб запустити макрос»). Зробити це. клацніть правою кнопкою миші на фігурі, а потім натисніть «Редагувати текст». Тепер ви можете вводити текст у формі текстового поля.

Зауважте, що ви не зможете натиснути та запустити макрос, коли фігуру вибрано (тобто ви побачите рамку навколо фігури, яка з’явиться, коли ви її виберете). Щоб зробити її інтерактивною, натисніть клавішу Escape або клацніть будь -де на робочому аркуші.

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

Збереження видимості форми під час приховування/зміни розміру рядків/стовпців

В Excel. коли ви вставляєте фігуру, вона розташовується над клітинками - як діаграма/об’єкт.

Це також має недолік, що коли ви змінюєте розмір або приховуєте рядки/стовпці, які мають форму над ним, форма також відповідає їх прикладу.

У наведеному нижче прикладі форма приховується, коли я приховую стовпець, на якому вона розміщена.

Якщо ви не хочете, щоб це сталося, виконайте наведені нижче дії.

  1. Клацніть правою кнопкою миші на фігурі
  2. Натисніть на Формат фігури
  3. На панелі Формат форми (або діалоговому вікні, якщо ви використовуєте Excel 2010 або попередні версії) виберіть Розмір і властивості
  4. У параметрах Властивості виберіть параметр - "Не переміщувати та не розмірювати за клітинками"
  5. Закрийте панель (або діалогове вікно)

Тепер, коли ви змінюєте розмір рядків/стовпців або приховуєте їх, форма залишається на своєму місці.

Призначте макрос кнопці керування формою

Якщо ви не надто стурбовані форматуванням кнопки і у вас все добре зі звичайними сірими кнопками, ви можете швидко вставити її з елемента керування формою (або елементом керування ActiveX, як показано далі), а потім призначити йому макрос.

Щоб це працювало, вам потрібно мати вкладку Розробник на стрічці. Якщо у вас його немає, ось детальний покроковий підручник щодо переходу вкладки розробника на стрічку Excel.

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

  1. Натисніть на вкладку Розробник
  2. У групі керування натисніть Вставити.
  3. У параметрах, що з’являються, у параметрах елементів керування формою натисніть кнопку Кнопка (контроль форми).
  4. Клацніть будь -де на аркуші. Це буде вставляти кнопку, де б ви не натискали, і автоматично відкривало діалогове вікно "Призначити макрос".
  5. У діалоговому вікні Призначити макрос ви побачите список усіх макросів, які є у вашій книзі
  6. Натисніть назву макросу, яку потрібно призначити цій кнопці. У цьому прикладі я натисну макрос під назвою «GoodMorning»
  7. Натисніть OK

Вищезазначені кроки вставлятимуть кнопку, якій призначений зазначений макрос.

За замовчуванням це була б маленька кнопка, на якій був би написаний текст типу «Кнопка». Ви можете змінити текст на будь -який інший, а також змінити форму кнопки (перетягуючи краї).

Оскільки це об’єкт, який розміщується над аркушем (так само, як фігури/діаграми), його можна перетягнути та розмістити в будь -якому місці аркуша.

Одним недоліком використання кнопки керування формою є те, що ви не маєте особливого контролю над форматуванням. Наприклад, ви не можете змінити колір із сірого на інший.

Хоча є декілька форматів, які можна виконати за допомогою кнопки керування формою, це нітрохи не близьке до того, що ви можете зробити з фігурами.

Ці параметри форматування кнопок з’являються, якщо клацнути правою кнопкою миші на кнопці, а потім натиснути на елемент керування форматом.

Відкриється діалогове вікно «Формат управління», де можна змінити тип/колір шрифту, розмір, вирівнювання тощо.

Одна хороша річ цієї кнопки полягає в тому, що вона не приховує та не змінює розмір, коли ви приховуєте рядки/стовпці або змінюєте їх розмір. Однак він переміститься у разі зміни висоти або ширини або рядка/стовпця, над яким розміщена кнопка.

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

  1. Клацніть правою кнопкою миші по кнопці
  2. Натисніть на Контроль формату
  3. Натисніть на вкладку Властивості
  4. Виберіть варіант - "Не переміщати та не розмірювати за клітинками"
  5. Натисніть ОК

Призначте макрос кнопці керування ActiveX

Крім кнопки управління формами, є також кнопка керування ActiveX, якій можна призначити макрос.

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

Цікаво, чому у нас є два різні типи кнопок - управління формами та ActiveX? Хоча елементи керування формами вбудовані у програму Excel, ActiveX завантажується з окремої DLL (бібліотеки динамічних посилань). Це робить кнопки керування формою набагато надійнішими та надійнішими у порівнянні з кнопками ActiveX. Детальніше про цю різницю можна прочитати тут у дописі в StackOverflow.

Іноді це також робить ActiveX трохи глючним і непередбачуваним. Тому, хоча я висвітлю це в цьому посібнику, я не рекомендую використовувати кнопку ActiveX і призначати їй макрос.

Щоб вставити кнопку ActiveX, а потім призначити їй макрос, виконайте наведені нижче дії.

  1. Натисніть на вкладку Розробник
  2. У групі керування натисніть Вставити.
  3. У параметрах, що з’являються, у параметрах елементів керування ActiveX клацніть на опції Кнопка команди.
  4. Клацніть будь -де на аркуші. Це буде вставляти кнопку туди, де ви натискаєте.
  5. Двічі клацніть по кнопці, і вона відкриє бекенд VB Editor, де ви можете розмістити код для кнопки ActiveX

Завдяки керуванню ActiveX ви отримуєте набагато більшу гнучкість за допомогою однієї кнопки. Наприклад, ви можете вказати один макрос для запуску, коли ви просто натискаєте кнопку один раз, і інший макрос, коли ви натискаєте двічі, або навіть інший, коли ви використовуєте клавішу зі стрілкою вгору/вниз.

Знову ж таки, це не те, що вам потрібно використовувати у своїй звичайній роботі.

Інший варіант, який ви можете розглянути (під час роботи з кнопками/фігурами та призначенням йому макросів) - це додати макрос на панель швидкого доступу. Таким чином, ви можете запустити макрос одним клацанням миші, і він завжди видно в QAT.

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

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

wave wave wave wave wave