Можете да използвате бутон за контрола на формуляр или команден бутон (ActiveX контрола), за да изпълните макрос, който извършва действие, когато някой потребител щракне върху него. И двата бутона са известни също и като активиращ бутон, който може да бъде настроен да автоматизира отпечатването на работен лист, филтрирането на данни или изчисляването на числа. По принцип бутонът за контрола на формуляр и командният бутон на ActiveX контрола си приличат по вид и функции. Те обаче имат няколко разлики, които са обяснени в следващите раздели.
Съвет
Информацията в тази статия е предназначена за напреднали потребители на Excel. За повече информация относно макросите отидете на "Добавяне или редактиране на макрос за контрола в работен лист".
Бутон (контрола на формуляр)
|
Команден бутон (ActiveX контрола)
|
|---|
В раздела по-долу научете как да добавите макрос към бутон в Excel – за Windows или Mac.
Забележка
ActiveX контролите не се поддържат на Mac.
Макросите и инструментите на VBA са в раздела "Разработчик ", който е скрит по подразбиране.
Първата стъпка е да я разрешите. За повече информация вж. статията: Показване на раздела "Разработчик".
Добавяне на бутон (контрола на формуляр)
- В раздела "Разработчик ", в групата "Контроли " щракнете върху "Вмъкни" и след това под "Контроли на формуляр" щракнете върху "Бутон
". - Щракнете върху местоположението в работния лист, където искате да се покаже горният ляв ъгъл на бутона. Появява се изскачащият прозорец "Присвояване на макрос ".
- Присвоете макрос на бутона и след това щракнете върху OK.
- За да зададете свойствата на контролата на бутона, щракнете с десния бутон върху бутона и след това щракнете върху "Форматиране на контрола".
Добавяне на команден бутон (ActiveX контрола)
В раздела "Разработчик ", в групата "Контроли " щракнете върху "Вмъкване" и след това под ActiveX контроли щракнете върху "Команден бутон
".Щракнете върху местоположението в работния лист, където искате да се покаже горният ляв ъгъл на командния бутон.
В групата ''Контроли '' щракнете върху ''Покажи кода''. Така се стартира редакторът на Visual Basic. Уверете се, че в падащия списък отдясно е избрано "Щракване ". Подпроцедурата CommandButton1_Click (вж. фигурата по-долу) изпълнява тези два макроса при щракване върху бутона: SelectC15 и HelloMessage.
В подпроцедурата за командния бутон направете едно от следните неща:
- Въведете името на съществуващ макрос в работната книга. Можете да намерите макроси, като щракнете върху "Макроси " в групата " Код ". Можете да изпълните няколко макроса от един бутон, като въведете имената на макросите на отделни редове в подпроцедурата.
- Ако е необходимо, добавете собствен VBA код.
Затворете редактора на Visual Basic и щракнете върху "Режим
на проектиране", за да сте сигурни, че режимът на проектиране е изключен.За да изпълните VBA кода, който сега е част от бутона, щракнете върху ActiveX командния бутон, който току-що създадохте.
За да редактирате ActiveX контролата, уверете сте, че сте в режим на проектиране. В раздела "Разработчик ", в групата "Контроли " включете режима на проектиране.
За да зададете свойствата на контролата на командния бутон, в раздела "Разработчик ", в групата "Контроли " щракнете върху "Свойства
". Можете също да щракнете с десния бутон върху командния бутон и след това да щракнете върху "Свойства".Забележка
Преди да щракнете върху "Свойства", уверете се, че обектът, чиито свойства искате да прегледате или промените, вече е избран.
Появява се полето "Свойства". За подробна информация за всяко едно свойство изберете свойството и след това натиснете клавиша F1, за да покажете помощна тема за Visual Basic. Можете също да въведете името на свойството в полето за търсене в помощта на Visual Basic. Следващата таблица обобщава наличните свойства на формата.
| Ако искате да зададете | Използвайте това свойство |
|---|---|
| Общи: | |
| Дали контролата да се зарежда при отваряне на работната книга. (Игнорира се за ActiveX контроли.) | Автоматично зареждане (Excel) |
| Дали фокусът може да отива в контролата и тя да отговори на събития, генерирани от потребителя. | Enabled (Формуляр) |
| Дали контролата може да бъде редактирана. | Заключен (Формуляр) |
| Името на контролата. | Име (формуляр) |
| Начина, по който контролата се прикачва към клетките под нея (свободно плаване, преместване, но без преоразмеряване, или преместване и преоразмеряване). | Разположение (Excel) |
| Дали контролата може да бъде отпечатвана. | PrintObject (Excel) |
| Дали контролата да бъде видима, или скрита. | Visible (Form) |
| Текст: | |
| Атрибутите на шрифта (получер, курсив, размер, зачеркнат, подчертан и тегло). | Получер, курсив, размер, зачеркнато, подчертано, тегло (формуляр) |
| Описателен текст на контролата, която го идентифицира или описва. | Надпис (формуляр) |
| Дали съдържанието на контролата автоматично преминава на нов ред. | WordWrap (Формуляр) |
| Размер и позиция: | |
| Дали размерът на контролата да се наглася автоматично, за да покаже цялото съдържание. | AutoSize (Формуляр) |
| Височината или ширината в точки. | Височина, ширина (формуляр) |
| Разстоянието между контролата и левия или горния край на работния лист. | Ляво, най-горе (формуляр) |
| Форматиране: | |
| Цвета на фона. | BackColor (Формуляр) |
| Стила на фона (прозрачен или непрозрачен). | BackStyle (Формуляр) |
| Цвета на текста. | ForeColor (Формуляр) |
| Дали контролата да има сянка. | Сянка (Excel) |
| На снимката: | |
| Изображението, което да се показва в контролата. | Картина (формуляр) |
| Местоположението на картината спрямо надписа й (ляво, горе, дясно и т. н.). | PicturePosition (Формуляр) |
| Клавиатура и мишка: | |
| Клавишната комбинация за контролата. | Ускорител (формуляр) |
| Персонализирана икона на мишка. | MouseIcon (Формуляр) |
| Типа показалец, който да се показва при позициониране на мишката над определен обект (стандартен, стрелка, отвесна черта и т.н.). | MousePointer (Формуляр) |
| Дали фокусът се премества в контролата при щракване. | TakeFocusOnClick (Формуляр) |
Имате нужда от още помощ?
Винаги можете да попитате експерт в техническата общност за Excel или да получите поддръжка в общностите.