Как да присвоите макрос на бутон в Excel (лесно ръководство)

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

И за да работи това, първо трябва да присвоите макрос на бутон.

В този урок ще ви покажа няколко начина да вмъкнете бутон в Excel и след това да присвоите макрос на този бутон (или форма). След като приключи, веднага след като потребител кликне върху бутона, VBA кодът на макроса ще бъде изпълнен.

За целите на този урок ще използвам по -долу VBA макрокода (който просто избира клетка A1 в активния лист и въвежда текста „Добро утро“ в нея и я оцветява в червено).

Sub GoodMorning () С ActiveSheet.Range ("A1") .Value = "Добро утро" .Interior.Color = vbRed End With End Sub

Горният код на 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, както е показано по -долу) и след това да му присвоите макрос.

За да работи това, ще трябва да имате раздел Developer във вашата лента. Ако го нямате, ето подробен урок стъпка по стъпка за получаване на раздела за програмисти в лентата на Excel.

След като видите раздела за програмисти видим, можете да използвате стъпките по -долу, за да вмъкнете бързо бутон и да му присвоите макрос:

  1. Кликнете върху раздела Разработчик
  2. В контролната група щракнете върху Вмъкване.
  3. В появилите се опции в опциите за контрол на формуляра щракнете върху опцията Бутон (контрол на формуляра).
  4. Щракнете където и да е на работния лист. Това ще вмъкне бутона навсякъде, където щракнете, и автоматично ще отвори диалоговия прозорец „Присвояване на макрос“.
  5. В диалоговия прозорец Присвояване на макрос ще видите списък с всички макроси, които имате в работната книга
  6. Щракнете върху името на макроса, което искате да присвоите на този бутон. В този пример ще щракна върху макроса, наречен „GoodMorning“
  7. Щракнете върху OK

Горните стъпки биха вмъкнали бутон, към който е присвоен посочения макрос.

По подразбиране това ще бъде малък бутон с текст като „Бутон“. Можете да промените текста на каквото искате, а също и формата на бутона (чрез плъзгане на ръбовете).

Тъй като това е обект, който се поставя върху работния лист (точно като форми/диаграми), можете да го плъзнете и поставите навсякъде в работния лист.

Един недостатък на използването на бутона за контрол на формуляра е, че нямате голям контрол върху форматирането. Например, не можете да промените цвета от сиво на нещо друго.

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

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

Това ще отвори диалоговия прозорец Контрол на формата, където можете да промените типа/цвета на шрифта, размера, подравняването и т.н.

Едно добро нещо за този бутон е, че той не скрива или преоразмерява, когато скриете редовете/колоните или ги преоразмерите. Той обаче ще се премести в случай, че промените височината или ширината или реда/колоната, върху която е поставен бутонът.

В случай, че не искате бутонът да остане на мястото си, можете да промените настройката, като следвате стъпките по -долу:

  1. Щракнете с десния бутон върху бутона
  2. Щракнете върху Контрол на формата
  3. Щракнете върху раздела Свойства
  4. Изберете опцията - „Не премествайте или оразмерявайте с клетки“
  5. Щракнете върху OK

Задайте макрос на бутон за управление на ActiveX

Освен бутона за контрол на формуляра, има и бутон за управление на ActiveX, на който можете да зададете макрос.

В повечето случаи няма да е необходимо да използвате бутона за управление на ActiveX и препоръчвам да го използвате само когато напълно разбирате какво представлява и знаете какво правите.

Чудите се защо имаме два различни вида бутони - Form Control и ActiveX? Докато контролите за формуляри са вградени в приложението Excel, ActiveX се зарежда от отделна DLL (библиотеки за динамични връзки). Това прави бутоните за управление на формуляра много по -здрави и надеждни в сравнение с бутоните ActiveX. Можете да прочетете повече за тази разлика тук в публикация в StackOverflow.

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

За да вмъкнете бутон ActiveX и след това да му присвоите макрос, следвайте стъпките по -долу:

  1. Кликнете върху раздела Разработчик
  2. В контролната група щракнете върху Вмъкване.
  3. В появилите се опции в опциите за ActiveX Controls щракнете върху опцията Command Button.
  4. Щракнете където и да е на работния лист. Това ще вмъкне бутона навсякъде, където щракнете.
  5. Щракнете двукратно върху бутона и той ще отвори бекенда на VB Editor, където можете да поставите кода за бутона ActiveX

С ActiveX контрола получавате много по -голяма гъвкавост с един бутон. Например, можете да посочите един макрос, който да се изпълнява, когато просто щракнете върху бутона веднъж и друг макрос, когато щракнете двукратно, или дори друг, когато използвате клавиша със стрелка нагоре/надолу.

Отново не нещо, което трябва да използвате в редовната си работа.

Друга възможност, която можете да обмислите (при работа с бутони/форми и присвояване на макроси към нея) е да добавите макроса към лентата с инструменти за бърз достъп. По този начин можете да стартирате макроса с едно щракване и той винаги е видим в QAT.

Надявам се, че сте намерили този урок за полезен. Ако се интересувате от изучаване на VBA, можете да разгледате по-задълбочени уроци по Excel VBA тук.

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave