Элемент управления пользовательской формы CommandButton, используемый в VBA Excel для запуска процедур и макросов. Свойства кнопки, примеры кода с ней.
UserForm.CommandButton – это элемент управления пользовательской формы, предназначенный исключительно для запуска процедур и макросов VBA Excel.
Для запуска процедур и макросов обычно используется событие кнопки – Click.
Свойства элемента CommandButton
Свойство | Описание |
---|---|
AutoSize | Автоподбор размера кнопки. True – размер автоматически подстраивается под длину введенной надписи (заголовка). False – размер элемента управления определяется свойствами Width и Height. |
BackColor | Цвет элемента управления CommandButton. |
Caption | Надпись (заголовок) – текст, отображаемый на кнопке. |
ControlTipText | Текст всплывающей подсказки при наведении курсора на кнопку. |
Enabled | Возможность взаимодействия пользователя с элементом управления CommandButton. True – взаимодействие включено, False – отключено (цвет надписи становится серым). |
Font | Шрифт, начертание и размер текста надписи. |
Height | Высота элемента управления. |
Left | Расстояние от левого края внутренней границы пользовательской формы до левого края элемента управления. |
Picture | Добавление изображения вместо текста заголовка или дополнительно к нему. |
PicturePosition | Выравнивание изображения и текста на кнопке. |
TabIndex | Определяет позицию элемента управления в очереди на получение фокуса при табуляции, вызываемой нажатием клавиш «Tab», «Enter». Отсчет начинается с 0. |
Top | Расстояние от верхнего края внутренней границы пользовательской формы до верхнего края элемента управления. |
Visible | Видимость элемента управления CommandButton. True – элемент отображается на пользовательской форме, False – скрыт. |
Width | Ширина элемента управления. |
WordWrap | Перенос текста заголовка на новую строку при достижении ее границы. True – перенос включен, False – перенос выключен. |
В таблице перечислены только основные, часто используемые свойства кнопки. Все доступные свойства отображены в окне Properties элемента управления CommandButton.
Пример кнопки с надписью и изображением
Примеры кода VBA Excel с кнопкой
Изначально для реализации примеров на пользовательскую форму UserForm1 добавлена кнопка CommandButton1.
Пример 1
Изменение цвета и надписи кнопки при наведении на нее курсора.
Условие примера 1
- Действия при загрузке формы: замена заголовка формы по умолчанию на «Пример 1», замена надписи кнопки по умолчанию на «Кнопка», запись цвета кнопки по умолчанию в переменную уровня модуля.
- Сделать, чтобы при наведении курсора на кнопку, она изменяла цвет на зеленый, а надпись «Кнопка» менялась на надпись «Нажми!»
- Добавление кода VBA Excel, который будет при удалении курсора с кнопки возвращать ей первоначальные настройки: цвет по умолчанию и надпись «Кнопка».
Решение примера 1
1. Объявляем в разделе Declarations модуля пользовательской формы (в самом начале модуля, до процедур) переменную myColor:
2. Загружаем пользовательскую форму с заданными параметрами:
Private Sub UserForm_Initialize() Me.Caption = «Пример 1» With CommandButton1 myColor = .BackColor .Caption = «Кнопка» End With End Sub |
3. Меняем цвет и надпись кнопки при наведении на нее курсора мыши:
Private Sub CommandButton1_MouseMove(ByVal _ Button As Integer, ByVal Shift As Integer, _ ByVal X As Single, ByVal Y As Single) With CommandButton1 .BackColor = vbGreen .Caption = «Нажми!» End With End Sub |
4. Возвращаем цвет и надпись кнопки при удалении с нее курсора мыши:
Private Sub UserForm_MouseMove(ByVal _ Button As Integer, ByVal Shift As Integer, _ ByVal X As Single, ByVal Y As Single) With CommandButton1 .BackColor = myColor .Caption = «Кнопка» End With End Sub |
Все процедуры размещаются в модуле пользовательской формы. Переменная myColor объявляется на уровне модуля, так как она используется в двух процедурах.
Пример 2
Запуск кода, размещенного внутри процедуры обработки события Click элемента управления CommandButton:
Private Sub CommandButton1_Click() MsgBox «Код внутри обработки события Click» End Sub |
Пример 3
Запуск внешней процедуры из процедуры обработки события Click элемента управления CommandButton.
Внешняя процедура, размещенная в стандартном модуле проекта VBA Excel:
Sub Test() MsgBox «Запуск внешней процедуры» End Sub |
Вызов внешней процедуры из кода обработки события Click
- с ключевым словом Call:
Private Sub CommandButton1_Click() Call Test End Sub |
- без ключевого слова Call:
Private Sub CommandButton1_Click() Test End Sub |
Строки вызова внешней процедуры с ключевым словом Call и без него – равнозначны. На ключевое слово Call можно ориентироваться как на подсказку, которая указывает на то, что эта строка вызывает внешнюю процедуру.
Доброго вам дня дорогие знатоки! Делаю свои первые шаги в VBA. Записываю макрос и потом привязываю его к кнопке. Шрифты на названиях кнопок меняются поцветам и размерам, но вот цвет самой области кнопки почему-то нет. Есть ли возможность менять заливку кнопки? Заранее спасибо! С уважением — Самир, Баку |
|
Юрий М Модератор Сообщений: 60575 Контакты см. в профиле |
Если будете использовать кнопки из панели инструментов «Элементы управления», то кнопки можно легко покрасить. |
{quote}{login=Юрий М}{date=08.07.2010 01:12}{thema=}{post}Если будете использовать кнопки из панели инструментов «Элементы управления», то кнопки можно легко покрасить.{/post}{/quote} В том то и дело что я именно Элементы управления использую, но там нигде про заливки не упоминается. Форматировать можно только шрифт. |
|
Юрий М Модератор Сообщений: 60575 Контакты см. в профиле |
Подозреваю, что Вы используете кнопки из панели инструментов «Формы». Там, действительно, можно только со шрифтом поиграться. А в тех, о которых я писал выше — можете менять и цвет самой кнопки. |
The_Prist Пользователь Сообщений: 14182 Профессиональная разработка приложений для MS Office |
Лучше используйте не элементы, а фигуры. Выбрали любую понравившуюся-Вставили_Правый щелчок мыши-Назначить макрос. А уж красить и вертеть эту фигуру потом можно как угодно…. Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы… |
{quote}{login=Юрий М}{date=08.07.2010 01:20}{thema=}{post}Подозреваю, что Вы используете кнопки из панели инструментов «Формы». Там, действительно, можно только со шрифтом поиграться. А в тех, о которых я писал выше — можете менять и цвет самой кнопки.{/post}{/quote} Ваши подозрения правильные Сейчас все понятно! Спасибо Юра гардаш! (гардаш — это означает брат) С уважением — Самир, Баку |
|
Юрий М Модератор Сообщений: 60575 Контакты см. в профиле |
И не отворачивайтесь от совета Prist — можно «кнопочки» любой формы нарисовать |
Guest Гость |
#8 08.07.2010 13:37:04 {quote}{login=The_Prist}{date=08.07.2010 01:27}{thema=}{post}Лучше используйте не элементы, а фигуры. Выбрали любую понравившуюся-Вставили_Правый щелчок мыши-Назначить макрос. А уж красить и вертеть эту фигуру потом можно как угодно….{/post}{/quote} Не сказать в лицо, но я уже здесь 6 месяцев и считаю что The_Prist это «The_Best» Конечно же можно через фигуры делать! Спасибо вам! вы меня не раз выручали!! |
See all How-To Articles
In this tutorial, you will learn how to change the color of a button in Excel.
Buttons are used in Excel to call macros. From the Developer tab, you can insert a button and assign it a macro. Then, clicking on that button runs the selected macro. Once you have your button set up, you can change its properties. In a spreadsheet, one easy way to direct attention to a button is to change the button’s color. This is done quite differently from changing a cell’s color.
Change BackColor of ActiveX Control Button
- First, be sure that Design Mode (Developer > Controls > Design Mode) is enabled so you can use the Properties option.
(If you can’t see the Developer tab, customize your Ribbon to add it.)
- Select the button whose color you want to change. Then in the Ribbon, go to Developer > Controls > Properties.
- After that, the Properties window will open. To change the BackColor of the button, (1) click on Alphabetic to see a list of button properties in alphabetical order. Then (2) select BackColor in the left column, and (3) click on the arrow in the right column to display the color options. Finally, (4) choose a color (from the Palette or System).
After clicking on the desired color, the color of the button will automatically change. As you can see below, the BackColor of an ActiveX button is the fill color of the shape.
Change ForeColor of ActiveX Control Button
As shown above, the BackColor of a button is its fill color. You can also customize the color of the text on the button by changing the forecolor.
- In the Ribbon, go to Developer > Properties.
- In the Properties window, (1) click on Alphabetic and (2) select ForeColor. After that, (3) click on the arrow to the right to display the color options, and (4) choose a color from the Palette (or System).
As a result, the text color (ForeColor) of the button is changed. The transformed button shown below is more easily visible in Excel than the standard gray button with black text.
В Excel, когда вы вставляете командную кнопку, цвет кнопки по умолчанию серый. Но иногда вам нужно изменить серый цвет на красивый, чтобы сделать рабочий лист более профессиональным. Сегодня я могу представить вам несколько быстрых приемов изменения цвета кнопки в Excel.
Измените цвет кнопки ActiveX Control с изменением свойств
Измените цвет кнопки управления ActiveX с кодом VBA
Измените цвет кнопки ActiveX Control с изменением свойств
Обычно в Excel есть кнопки двух типов: одна Контроль формы кнопка, а другой элемент управления ActiveX кнопка. Если кнопка является кнопкой управления формой, вы можете просто изменить ее цвет шрифта, но не меняйте цвет фона. Вы просто можете изменить цвет задней части кнопки ActiveX Control. Пожалуйста, сделайте так:
1. Вставьте элемент управления ActiveX кнопку, нажав Застройщик > ВставитьИ выберите Кнопка управления под Элементы управления ActiveX раздел, см. снимок экрана:
Внимание: Если Застройщик вкладка не отображается на ленте, вы можете нажать Файл > Опция > Настроить ленту, затем проверьте Застройщик на правой панели, чтобы отобразить Застройщик меню.
2. Затем перетащите мышь, чтобы нарисовать кнопку.
3. Затем нажмите кнопку и щелкните правой кнопкой мыши, выберите Предложения из контекстного меню, а во всплывающем Предложения диалоговое окно, нажмите Алфавитный Вкладка, а затем нажмите кнопку НазадЦвет выпадающий список, чтобы выбрать один понравившийся цвет, см. скриншоты:
4. Затем закройте диалоговое окно, и цвет вашей командной кнопки будет изменен следующим образом:
5. Наконец, брось Режим проектирования кликнув Застройщик > Режим проектирования чтобы кнопка использовалась нормально.
Измените цвет кнопки управления ActiveX с кодом VBA
Как мы видим, Excel предоставляет нам несколько цветов в диалоговом окне «Свойства». С помощью следующего простого кода VBA можно выбрать множество цветов.
1. Вставьте командную кнопку и щелкните правой кнопкой мыши, затем выберите Просмотреть код из контекстного меню см. снимок экрана:
2, Затем Окно Microsoft Visual Basic для приложений отобразится, см. снимок экрана:
3. А затем скопируйте и вставьте этот простой скрипт кода: CommandButton1.BackColor = 12713921 в окно между двумя кодами, см. снимок экрана:
Примечание: В приведенном выше кодовом сценарии CommandButton1 это название вашей кнопки, а номер 12713921 это MS-доступномер, они все переменные, вы можете изменить их по своему усмотрению.
4. Затем нажмите F5 нажмите кнопку для запуска этого кода, и цвет вашей кнопки сразу изменится.
Функции: Вы можете перейти на этот сайт: http://www.endprod.com/colors/ чтобы увидеть больше Номер доступа MS значения цвета, возможно, вы можете использовать сотни цветов. После открытия веб-сайта вам просто нужно выбрать цвет и скопировать соответствующий номер в MSAccess herder, а затем заменить указанный выше номер в скрипте кода.
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Комментарии (7)
Оценок пока нет. Оцените первым!
Изменение цвета кнопки |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |