Съдържание
В този урок ще разгледаме много различни начини за стартиране на макрос в Excel - от лентата и редактора на VB, с потребителска клавишна комбинация и чрез създаване на собствен макробутон.
Въпреки че стартирането на макрос в Excel е лесно за опитните потребители, то може да не е веднага очевидно за начинаещите. В тази статия ще научите няколко метода за стартиране на макроси, някои от които могат напълно да променят начина ви на взаимодействие с работните книги на Excel.
Как да стартирате макрос от лентата на Excel
Един от най-бързите начини за изпълнение на VBA в Excel е да стартирате макрос от Разработчик Ако досега не сте работили с VBA код, може да се наложи първо да активирате раздела Developer (Разработчик). След това направете следното:
- На Разработчик в раздела Код група, щракнете върху Макроси . Или натиснете клавишната комбинация Alt + F8.
- В появилия се диалогов прозорец изберете интересуващия ви макрос, след което щракнете върху Изпълнявайте .
Съвет. Ако разделът Developer не е добавен в лентата на Excel, натиснете Alt + F8, за да отворите Macro диалог.
Стартиране на макрос с потребителска клавишна комбинация
Ако редовно изпълнявате определен макрос, можете да му присвоите бърз клавиш. Бърз клавиш може да бъде добавен при запис на нов макрос и към съществуващ такъв. За целта изпълнете следните стъпки:
- На Разработчик в раздела Код група, щракнете върху Макроси .
- В Macro диалогов прозорец, щракнете върху Опции .
- Сайтът Опции за макроси Ще се появи диалогов прозорец. Кратък път полето за клавишите, въведете всяка главна или малка буква, която искате да използвате за пряк път, и след това щракнете върху OK, за да запазите промените.
- За малките букви бързата клавишна комбинация е Ctrl + буква .
- За главни букви прекият път е Ctrl + Shift + буква .
- Затворете Macro диалогов прозорец.
Съвет. Препоръчва се винаги да използвате главни букви клавишни комбинации за макроси ( Ctrl + Shift + буква ), за да не заместват бързите клавиши по подразбиране на Excel. Например, ако присвоите Ctrl + f на макрос, ще загубите възможността да извикате Намиране и заместване диалог.
След присвояването на бързата клавишна комбинация просто натиснете тази клавишна комбинация, за да стартирате макроса.
Как да стартирате макрос от редактора VBA
Ако се стремите да станете професионалист в областта на Excel, то със сигурност трябва да знаете как да стартирате макрос не само от Excel, но и от редактора на Visual Basic. Добрата новина е, че това е много по-лесно, отколкото очаквате :)
- Натиснете Alt + F11, за да стартирате редактора на Visual Basic.
- В Проект Explorer кликнете двукратно върху модула, който съдържа вашия макрос, за да го отворите.
- В Код В прозореца вдясно ще видите всички макроси, изброени в модула. Поставете курсора навсякъде в макроса, който искате да изпълните, и направете едно от следните действия:
- В лентата с менюта щракнете върху Изпълнявайте > Изпълнение на Sub/UserForm .
- В лентата с инструменти щракнете върху Изпълнение на макрос (зелен триъгълник).
Можете също така да използвате един от следните бързи клавиши:
- Натиснете F5, за да стартирате целия код.
- Натиснете F8, за да стартирате всеки ред код поотделно. Това е много полезно при тестване и отстраняване на грешки при макроси.
Съвет. Ако обичате да работите с Excel от клавиатурата, този урок може да ви бъде полезен: 30 най-полезни клавишни комбинации за Excel.
Как да създадете макробутон в Excel
Традиционните начини за стартиране на макроси не са трудни, но все пак могат да представляват проблем, ако споделяте работна книга с някой, който няма опит с VBA - той просто няма да знае къде да търси! За да направите стартирането на макрос наистина лесно и интуитивно за всеки, създайте свой собствен макробутон.
- На Разработчик в раздела Контроли група, щракнете върху Вмъкване на , и изберете Бутон под От контролите .
- Щракнете където и да е в работния лист. Това ще отвори Присвояване на макрос диалогов прозорец.
- Изберете макроса, който искате да присвоите на бутона, и щракнете върху ОК .
- В работния лист се вмъква бутон. За да промените текста на бутона, щракнете с десния бутон върху него и изберете Редактиране на текст от контекстното меню.
- Изтрийте текста по подразбиране, например Бутон 1 и въведете своя собствена. По желание можете да форматирате текста с удебелен шрифт или курсив.
- Ако текстът не се побира в бутона, увеличете или намалете контрола на бутона, като плъзнете дръжките за оразмеряване. След като приключите, щракнете където и да е в листа, за да излезете от режима на редактиране.
И сега можете да стартирате макроса, като щракнете върху бутона му. Макросът, който сме задали, форматира избраните клетки, както е показано на екранната снимка по-долу:
Съвет. Можете също така да присвоите макрос на съществуващ бутон или други контроли на формата, като бутони за завъртане или ленти за превъртане. За целта щракнете с десния бутон на мишката върху вмъкнатия в работния лист контрол и изберете Присвояване на макрос от изскачащото меню.
Създаване на макробутон от графичен обект
За съжаление, не е възможно да се персонализира външният вид на бутоните за управление, поради което бутонът, който създадохме преди малко, не изглежда много добре. За да направите наистина красив макробутон на Excel, можете да използвате форми, икони, изображения, WordArt и други обекти.
Като пример ще ви покажа как можете да стартирате макрос, като щракнете върху дадена форма:
- На Вмъкване на в раздела Илюстрации група, щракнете върху Форми и изберете желания тип форма, напр. правоъгълник със заоблени ъгли:
- В работния лист щракнете върху мястото, където искате да вмъкнете обекта с форма.
- Форматирайте бутона с форма по желания начин. Например можете да промените цветовете на запълване и контур или да използвате някой от предварително дефинираните стилове на Формат на формата За да добавите текст към формата, просто щракнете два пъти върху нея и започнете да пишете.
- За да свържете макрос с формата, щракнете с десния бутон върху обекта на формата, изберете Задаване на макроси..., след това изберете желания макрос и щракнете върху ОК .
Сега имате форма, която прилича на бутон и изпълнява зададения макрос, когато щракнете върху нея:
Как да добавите макробутон в лентата с инструменти за бърз достъп
Бутонът за макрос, вмъкнат в работен лист, изглежда добре, но добавянето на бутон във всеки лист отнема много време. За да направите любимия си макрос достъпен отвсякъде, добавете го в лентата с инструменти за бърз достъп. Ето как:
- Щракнете с десния бутон върху лентата с инструменти за бърз достъп и изберете Още команди... от контекстното меню.
- В Изберете команди от списък, изберете Макроси .
- В списъка с макроси изберете този, който искате да присвоите на бутона, и щракнете върху Добавяне на . Това ще премести избрания макрос в списъка с бутони на лентата с инструменти за бърз достъп вдясно.
В този момент можете да щракнете върху OK, за да запазите промените, или да направите още няколко настройки, описани по-долу.
- Ако установите, че иконата, добавена от Microsoft, не е подходяща за вашия макрос, щракнете върху Промяна на за да замените иконата по подразбиране с друга.
- В Бутон за модифициране диалогов прозорец, който се появява, изберете икона за вашия макробутон. По желание можете също така да промените Показвайте името За разлика от името на макроса, името на бутона може да съдържа интервали.
- Щракнете два пъти върху OK, за да затворите двата диалогови прозореца.
Готово! Вече имате собствен бутон за стартиране на макрос в Excel:
Как да поставите бутон за макроси на лентата на Excel
В случай че имате няколко често използвани макроса в инструментариума на Excel, може да ви е удобно да имате потребителска група в лентата, например Моите макроси и добавете всички популярни макроси към тази група като бутони.
Първо, добавете потребителска група към съществуващ раздел или към свой собствен раздел. За подробни инструкции, моля, вижте:
- Как да създадете персонализиран раздел на лентата
- Как да добавите потребителска група
След това добавете макробутон към персонализираната си група, като изпълните следните стъпки:
- Кликнете с десния бутон на мишката върху лентата, след което щракнете върху Персонализиране на лентата .
- В появилия се диалогов прозорец направете следното:
- В табовете на списъка вдясно изберете персонализираната група.
- В Изберете команди от списък вляво, изберете Макроси .
- В списъка с макроси изберете този, който искате да добавите към групата.
- Щракнете върху Добавяне на бутон.
За този пример създадох нов раздел с име Макроси и потребителска група с име Макроси за форматиране . На скрийншота по-долу добавяме Format_Headers макрос към тази група.
- Макросът вече е добавен към персонализираната група на лентата. За да дадете на макробутона си по-приятелско име, изберете го и щракнете върху Преименуване на :
- В Преименуване на диалогов прозорец, въведете желаното име в полето Показвайте името (в имената на бутоните са разрешени интервали) и изберете икона за макробутона. Когато приключите, щракнете върху OK.
- Кликнете върху ОК за да запазите промените и да затворите основния диалогов прозорец.
Като пример мога да посоча три бутона за макроси в лентата на Excel и сега мога да стартирам всеки от тях с едно щракване върху бутона:
Как да стартирате макрос при отваряне на работна книга
Понякога може да искате да стартирате автоматично макрос при отваряне на работна книга, например за показване на някакво съобщение, стартиране на скрипт или изчистване на определен диапазон. Това може да се направи по два начина.
Автоматично стартиране на макрос чрез използване на събитието Workbook_Open
По-долу са описани стъпките за създаване на макрос, който се стартира автоматично, когато отворите определена работна книга:
- Отворете работната книга, в която искате да се изпълни макросът.
- Натиснете Alt + F11, за да отворите редактора на Visual Basic.
- В Проучвателя на проекти щракнете два пъти върху Тази работна книга за да отворите прозореца за код.
- В Обект списък над прозореца с кода, изберете Работна тетрадка Това създава празна процедура за Отворете събитие, към което можете да добавите свой собствен код, както е показано на снимката по-долу.
Например следният код ще показва съобщение за добре дошли при всяко отваряне на работната книга:
Private Sub Workbook_Open() MsgBox "Добре дошли в месечния отчет!" End SubЗадействане на макрос при отваряне на работната книга със събитието Auto_Open
Друг начин за автоматично стартиране на макрос при отваряне на работна книга е чрез използване на събитието Auto_Open. За разлика от събитието Workbook_Open, Auto_Open() трябва да се намира в стандартен модул с код, а не в Тази работна книга .
Ето какви са стъпките за създаване на такъв макрос:
- В Проект Explorer , щракнете с десния бутон на мишката Модули , след което щракнете върху Вмъкване на > Модул .
- В Код напишете следния код:
Ето един пример за реален код, който показва кутия със съобщения при отваряне на работната книга:
Sub Auto_Open() MsgBox "Добре дошли в месечния отчет!" End SubЗабележка! Auto_Open е остаряло и е налично за обратна съвместимост. В повечето случаи то може да бъде заменено с Workbook_Open За повече информация вижте Workbook_Open vs. Auto_Open.
Което и събитие да използвате, вашият макрос ще се стартира автоматично всеки път, когато отворите файла на Excel, съдържащ кода. В нашия случай се показва следният прозорец със съобщения:
Сега вече знаете много начини за стартиране на макрос в Excel, просто трябва да изберете най-подходящия за вашите нужди. Благодаря ви, че прочетохте, и се надявам да се видим в нашия блог следващата седмица!