Задать цвет кнопки excel

Download PC Repair Tool to quickly find & fix Windows errors automatically

In Microsoft Excel, Word orPowerPoint, the Developer tab is an optional tab that allows users to access form controls and other programming type controls such as Macros, Mapping, Add-ins, Templates, Protection, and Controls that include the ActiveX Control buttons. ActiveX buttons include Check Box, Text Box, Label, Options button, Spin button, Combo Box, Command button, etc. When an ActiveX button is selected, users can program it to run an action or modify its appearance by using the Properties feature offered.

Follow the steps below to change the color of the ActiveX Control buttons in Microsoft Excel, Word or PowerPoint.

  1. Launch Microsoft Excel, Word or PowerPoint.
  2. Click the Developer tab.
  3. Click the Legacy Tools button in the Controls group section.
  4. Select an ActiveX button from the menu.
  5. Click the Properties button.
  6. Click Back Color and select a color from the list.
  7. The color will change.

We are using Word as an example, but the procedure is identical.:

Launch Microsoft Word.

Click the Developer tab on the menu bar.

Click the Legacy Tools button in the Controls group section. The Legacy Tools feature allows users to Insert Active X buttons and Form Controls into their documents.

Select an Active X button from the menu. In this tutorial, we have selected a textbox.

Then click the Properties button in the Control group. The Properties button allows users to view and modify properties for the selected control.

A Properties dialog box will open showcasing the properties of the Active X button you have selected.

Click the BackColor button in the Properties dialog box; you will see its color list box with two tabs the System tab and the Palette tab.

Choose a color from either the System tab or the  Palette tab.

The color of the button will automatically change to the color you have selected.

In the Properties dialog box, you can also change the color of the border of the Active X button; Click BorderColor, and the color of the Active X button will change to the selected color.

If you have entered text into the Active X textbox, you can change the text color.

How to change color of ActiveX Control button in Excel, Word, PowerPoint

In the Properties dialog box, click ForeColor and choose a color from either the System or Palette tab.

After you have finished modifying your Active X button; click the close button.

READ: How to add and change Content Controls in Microsoft Word.

How to show the Developer tab in Excel, Word or PowerPoint

  • Open Excel, Word or PowerPoint
  • Click on File > Options
  • Select Customize Ribbon > Customize the Ribbon > Main Tabs.
  • Check Developer and select Save.
  • Restart Word.

What are ActiveX Controls in Excel, Word or PowerPoint?

ActiveX controls are small building blocks that create applications that work over the internet through web browsers. Common uses of ActiveX controls are command buttons, list boxes, and dialog boxes.

What is the difference between ActiveX and Form controls?

The difference between the ActiveX controls and Form controls is that ActiveX controls are loaded separately while Form controls are built into Excel. Forms controls are much simpler, and Active X controls are more complex.

We hope this tutorial helps you understand how to change the color of the ActiveX buttons in Excel, Word or PowerPoint; if you have questions about the tutorial, let us know in the comments.

Ezoic

Shantel has studied Data Operations, Records Management, and Computer Information Systems. She is quite proficient in using Office software. Her goal is to become a Database Administrator or a System Administrator.

В Excel, когда вы вставляете командную кнопку, цвет кнопки по умолчанию серый. Но иногда вам нужно изменить серый цвет на красивый, чтобы сделать рабочий лист более профессиональным. Сегодня я могу представить вам несколько быстрых приемов изменения цвета кнопки в Excel.

Измените цвет кнопки ActiveX Control с изменением свойств
Измените цвет кнопки управления ActiveX с кодом VBA


Измените цвет кнопки ActiveX Control с изменением свойств

Обычно в Excel есть кнопки двух типов: одна Контроль формы кнопка, а другой элемент управления ActiveX кнопка. Если кнопка является кнопкой управления формой, вы можете просто изменить ее цвет шрифта, но не меняйте цвет фона. Вы просто можете изменить цвет задней части кнопки ActiveX Control. Пожалуйста, сделайте так:

1. Вставьте элемент управления ActiveX кнопку, нажав Застройщик > ВставитьИ выберите Кнопка управления под Элементы управления ActiveX раздел, см. снимок экрана:

документ-изменить-кнопку-цвет1

Внимание: Если Застройщик вкладка не отображается на ленте, вы можете нажать Файл > Опция > Настроить ленту, затем проверьте Застройщик на правой панели, чтобы отобразить Застройщик меню.

2. Затем перетащите мышь, чтобы нарисовать кнопку.

документ-изменить-кнопку-цвет1

3. Затем нажмите кнопку и щелкните правой кнопкой мыши, выберите Предложения из контекстного меню, а во всплывающем Предложения диалоговое окно, нажмите Алфавитный Вкладка, а затем нажмите кнопку НазадЦвет выпадающий список, чтобы выбрать один понравившийся цвет, см. скриншоты:

4. Затем закройте диалоговое окно, и цвет вашей командной кнопки будет изменен следующим образом:

документ-изменить-кнопку-цвет1

5. Наконец, брось Режим проектирования кликнув Застройщик > Режим проектирования чтобы кнопка использовалась нормально.


Измените цвет кнопки управления ActiveX с кодом VBA

Как мы видим, Excel предоставляет нам несколько цветов в диалоговом окне «Свойства». С помощью следующего простого кода VBA можно выбрать множество цветов.

1. Вставьте командную кнопку и щелкните правой кнопкой мыши, затем выберите Просмотреть код из контекстного меню см. снимок экрана:

документ-изменить-кнопку-цвет1

2, Затем Окно Microsoft Visual Basic для приложений отобразится, см. снимок экрана:

документ-изменить-кнопку-цвет1

3. А затем скопируйте и вставьте этот простой скрипт кода: CommandButton1.BackColor = 12713921 в окно между двумя кодами, см. снимок экрана:

документ-изменить-кнопку-цвет1

Примечание: В приведенном выше кодовом сценарии CommandButton1 это название вашей кнопки, а номер 12713921 это MS-доступномер, они все переменные, вы можете изменить их по своему усмотрению.

4. Затем нажмите F5 нажмите кнопку для запуска этого кода, и цвет вашей кнопки сразу изменится.

документ-изменить-кнопку-цвет1

Функции: Вы можете перейти на этот сайт: http://www.endprod.com/colors/ чтобы увидеть больше Номер доступа MS значения цвета, возможно, вы можете использовать сотни цветов. После открытия веб-сайта вам просто нужно выбрать цвет и скопировать соответствующий номер в MSAccess herder, а затем заменить указанный выше номер в скрипте кода.

документ-изменить-кнопку-цвет1


Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Комментарии (7)


Оценок пока нет. Оцените первым!

 

Доброго всем времени суток. Уважаемые форумчане, помогите немного с задачей. Задача такая: есть кнопка, цвет которой меняется в зависимости от значения ячейки на листе. Если кнопка расположена на листе, я знаю как это сделать (кстати благодаря вашему форуму), а если она на форме? Пытался делать через Private Sub UserForm_load, initialize, activate… Но видимо что-то не так прописываю… Скорректируйте пример, если кто-то знает. Заранее спасибо!

Прикрепленные файлы

  • Книга1.xls (47.5 КБ)

 

Юрий М

Модератор

Сообщений: 60579
Регистрация: 14.09.2012

Контакты см. в профиле

#2

14.01.2013 14:38:45

Да то же самое:

Код
Private Sub Button1_Click()
[a1] = -1
Me.Button.BackColor = vbBlue
End Sub
 

Надо, чтобы в открытой форме при клике , например, на кнопку «0» (Button2), кнопка «кнопка зеленая» (Button) автоматически отслеживала изменение значения ячейки А1 на листе, а также при открытии книги и меняла свой цвет на необходимый. Вот))

 

т.е. Открыл форму -> ввел необходимое значение в ячейку -> кнопка(и) на форме отследили это и изменили свои свойства в зависимости от значения.

 

Юрий М

Модератор

Сообщений: 60579
Регистрация: 14.09.2012

Контакты см. в профиле

#5

14.01.2013 14:54:54

И в чём проблема? Добавьте проверку:

Код
Private Sub Button1_Click()
    If [A1] > 0 Then
        Me.Button.BackColor = vbRed
    ElseIf [A1] = 0 Then
        Me.Button.BackColor = vbGreen
    Else
        Me.Button.BackColor = vbBlue
    End If
End Sub

Только зачем тогда ТРИ кнопки? Всё можно делать одной.

 

Юрий М

Модератор

Сообщений: 60579
Регистрация: 14.09.2012

Контакты см. в профиле

 

Юрий, не совсем понимаете задачу. Надо красить не ту кнопку, которую нажимаешь! Одну нажимаешь — она задает значение ячейке. А вот другая уже в зависимости от этого значения и окрашивается.

Private Sub Button1_Click() -> значение ячейки -> Другаякнопка.BackColor = vb…..

 

Юрий М

Модератор

Сообщений: 60579
Регистрация: 14.09.2012

Контакты см. в профиле

#8

14.01.2013 15:08:20

Цитата
Гена Рыбалкин пишет:
А вот другая уже в зависимости от этого значения и окрашивается

Другая — это какая?

 

В примере она находится на форме и называется «кнопка зеленая» (Button — в коде)

Должно получиться так, как если бы кнопку CommandButton1 с листа перенесли бы на форму…
Код для CommandButton1 прописан в корне книги:

Private Sub Workbook_Open()
   With ActiveSheet
   If ActiveSheet.Name = «Лист1» Then
       If [a1] = 0 Then
           .CommandButton1.BackColor = vbGreen
           .CommandButton1.Caption = [c1]
       ElseIf [a1] > 0 Then
           .CommandButton1.BackColor = vbRed
           .CommandButton1.Caption = [c1]
       Else
           .CommandButton1.BackColor = vbBlue
           .CommandButton1.Caption = [c1]
       End If
   End If
   End With
End Sub

Private Sub WorkBook_SheetChange(ByVal sh As Object, ByVal Target As Range)
…..

Что поменять, если кнопка оказалась бы в форме?

Изменено: Гена Рыбалкин14.01.2013 15:16:03

 

Sergei_A

Пользователь

Сообщений: 443
Регистрация: 05.01.2013

#10

14.01.2013 15:17:32

Наверное вот так?

Для того чтобы

Цитата
Гена Рыбалкин пишет:
т.е. Открыл форму -> ввел необходимое значение в ячейку

сделал форму в немодальном режиме

Прикрепленные файлы

  • Книга1.xls (51.5 КБ)

 

Юрий М

Модератор

Сообщений: 60579
Регистрация: 14.09.2012

Контакты см. в профиле

#11

14.01.2013 15:17:33

Нормально придумали назвать :-)
Так продублируйте проверку во все три кнопки:

Код
Private Sub Button1_Click()
    [A1] = -1
    If [A1] > 0 Then
        Me.Button.BackColor = vbRed
    ElseIf [A1] = 0 Then
        Me.Button.BackColor = vbGreen
    Else
        Me.Button.BackColor = vbBlue
    End If
End Sub

Private Sub Button2_Click()
[A1] = 0
If [A1] > 0 Then
        Me.Button.BackColor = vbRed
    ElseIf [A1] = 0 Then
        Me.Button.BackColor = vbGreen
    Else
        Me.Button.BackColor = vbBlue
    End If
End Sub

Private Sub Button3_Click()
[A1] = 1
If [A1] > 0 Then
        Me.Button.BackColor = vbRed
    ElseIf [A1] = 0 Then
        Me.Button.BackColor = vbGreen
    Else
        Me.Button.BackColor = vbBlue
    End If
End Sub

Или оформите отдельной процедурой и вызывайте её…

 

Юрий М

Модератор

Сообщений: 60579
Регистрация: 14.09.2012

Контакты см. в профиле

А раз Вы явно кнопками задаёте значения, то и проверка не нужна: одновременно со значением ячейке, присваивайте нужный цвет кнопке.

 

Гена Рыбалкин

Пользователь

Сообщений: 22
Регистрация: 14.01.2013

#13

14.01.2013 15:23:32

Все отлично работает, огромное спасибо Юрий)
Посмотрел сейчас, видимо первоначальный ваш код:

Код
Private Sub Button1_Click()
    If [A1] > 0 Then
        Me.Button.BackColor = vbRed
    ElseIf [A1] = 0 Then
        Me.Button.BackColor = vbGreen
    Else
        Me.Button.BackColor = vbBlue
    End If
End Sub

был верен… Я так понимаю, «Ме.» перед кнопкой делает ее активной)
В любом случае огромное спасибо))

 

Юрий М

Модератор

Сообщений: 60579
Регистрация: 14.09.2012

Контакты см. в профиле

#14

14.01.2013 15:30:13

Ме перед кнопкой не делает её активной — это признак принадлежности к родительскому объекту (форме).
Попробуйте такой вариант: в кодах трёх кнопок оставьте только присвоение значений ячейке А1, а в модуль листа скопируйте такой код:

Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("A1")) Is Nothing Then
        With UserForm
            If Target > 0 Then
        .Button.BackColor = vbRed
    ElseIf Target = 0 Then
        .Button.BackColor = vbGreen
    Else
        .Button.BackColor = vbBlue
    End If
        End With
    End If
End Sub

И я бы вызов формы перенёс из модуля листа в стандартный модуль.

Содержание

  1. Microsoft Excel
  2. Как в VBA Excel использовать свойства элемента управления «Кнопка»
  3. VBA Excel. Элемент управления CommandButton (кнопка)
  4. Элемент управления CommandButton
  5. Свойства элемента CommandButton
  6. Примеры кода VBA Excel с кнопкой
  7. Пример 1
  8. Условие примера 1
  9. Решение примера 1
  10. Как изменить цвет кнопки управления ActiveX в Excel, Word, PowerPoint
  11. Как изменить цвет кнопок управления ActiveX в Excel, Word, PowerPoint
  12. Как отобразить вкладку «Разработчик» в Excel, Word или PowerPoint
  13. Что такое элементы управления ActiveX в Excel, Word или PowerPoint?
  14. В чем разница между элементами управления ActiveX и Form?

Microsoft Excel

трюки • приёмы • решения

Как в VBA Excel использовать свойства элемента управления «Кнопка»

Как уже было сказано во введении, у программных объектов имеются различные свойства. Первое очевидное желание заключается в том, чтобы просмотреть (а затем и изменить) значения свойств объектов. Для просмотра свойств объекта его необходимо сначала выделить в режиме конструктора (щелкнуть на нем мышью), а затем с помощью пиктограммы Свойства (она расположена рядом с пиктограммой Режим конструктора) открыть окно свойств (рис. 1.8).

Рис. 1.8. Окно свойств объекта

В окне свойств отображается таблица набор строк в два столбца. При этом левый столбец отводится для названий свойств, а в нравом расположены значения этих свойств. Понятно, что содержание левого столбца изменить нельзя свойства объекта уже определены его разработчиком (компанией Microsoft). А значения свойств мы поменять можем для этого достаточно щелкнуть в ячейке правого столбца и изменить се содержание.

Если приглядеться к окну на рис. 1.8, то мы увидим, что для ряда свойств возможны только два варианта значений. Например, для свойства Visible (определяет видимость объекта на экране) возможны только значения False и True. Такая ситуация наблюдается и для ряда других свойств. Среди них можно отметить Enabled определяет доступ к объекту в режиме выполнения (если установить для этого свойства значение False и выйти из режима конструктора, то объект будет недоступен). Свойство AutoSize позволяет обеспечить автоматическую подгонку размеров кнопки под размер текста, расположенного на ней. Такое будет происходить, если установить True в качестве значения данного свойства.

Для некоторых других свойств следует устанавливать числовые значения. Так, местоположение и размеры элемента управления определяются следующими свойствами:

  • Width ширина;
  • Height высота;
  • Тор координата верхней границы элемента, начиная от верхней части листа;
  • Left координата левой границы элемента, начиная от левой части листа.

Если для свойства Enabled установлено значение False, то элемент управления на экране будет выглядеть более блекло (такая ситуация знакома по работе с различными приложениями, когда ряд разделов меню недоступен).

Рис. 1.9. Палитра цветов

Если теперь в режиме конструктора выбудете перемещать созданную на листе кнопку но экрану и изменять ее размеры (с помощью окружающих ее маркеров), то соответствующие значения в окне свойств будут меняться. И наоборот, изменив значения в окне свойств, вы увидите изменения на экране. Для установки значений ряда свойств следует использовать пиктографические меню. Так, с помощью свойства BackColor можно изменять цвет кнопки. Для этого всего лишь требуется щелчком мыши выбрать необходимый цвет (рис. 1.9). Аналогичное свойство ForeColor определяет цвет текста на кнопке. За надпись на кнопке отвечает другое свойство Caption. Если напротив названия этого свойства ввести текст (рис. 1.10), то мы увидим его и на кнопке.

Рис. 1.10. Установка значения свойства Caption

Для изменения шрифта текста на кнопке имеется свойство Font. Если в окне свойств попытаться изменить его значение, то перед вами откроется знакомое (но работе с различными приложениями) окно для выбора шрифта и размера букв (рис. 1.11). При этом технические действия здесь выполняются с помощью щелчков мышью.

Рис. 1.11. Окно диалога для выбора шрифта надписи на кнопке

Еще одно интересное свойство, Picture, позволяет разместить на кнопке изображение (рис. 1.12) из графического файла. Для этого в качестве значения свойства следует указать имя файла. Это действие производится с помощью стандартного диалогового окна (рис. 1.13), в котором необходимо выбрать один из графических файлов на компьютере либо в сети. В случае, если вы захотите убрать изображение, то в ноле для значения данного свойства следует воспользоваться клавишей Delete.

Во введении уже упоминалось, что основное свойство объекта это имя. В окне свойств оно называется Name. Как мы видели (см. рис. 1.8) на примере создания кнопки, Excel автоматически присвоил ей имя. Имя первой созданной кнопки на рабочем листе по умолчанию CommandButtonl, которое вы при желании можете изменить. Явной необходимости изменения имен, которые присваиваются по умолчанию, нет. Однако очень часто программисты назначают объектам свои имена. Это связано с тем, что к любым объектам на листе мы можем получить доступ из текста программы (фактически требуется обращаться к свойствам и методам этих объектов), указав имя конкретного объекта. В связи с этим с точки зрения организации программного кода часто удобнее использовать свою систему назначения имен объектов.

Рис. 1.12. Размещение на кнопке изображения

Система формирования имен по умолчанию заключается в комбинации типа элемента управления (CommandButton — командная кнопка) и числа (порядкового номера элемента управления данного типа).

Для первой созданной кнопки имя — CommandButton1. Если мы на рабочем листе разместим еще одну кнопку, то она будет иметь имя CommandButton2. При добавлении последующих кнопок данный принцип сохраняется. Если вы все же решитесь изменить имя, то вместо CommandButton1 в окне свойств следует набрать слово или словосочетание, которое вас устраивает. Но заметим, что оно должно быть без пробелов внутри (частая ошибка в первых разработках). В качестве примера подберем новое имя для кнопки — PrimerButton.

Рис. 1.13. Окно диалога для выбора графического файла

Теперь, если вы произвели описанные выше установки (а также убрали изображение очистили значение в свойстве Picture), кнопка будет выглядеть так, как показано на рис. 1.14. Для свойства AutoSize здесь установлено значение True, что позволяет подогнать размеры кнопки под расположенную на ней надпись.

С подобных шагов начинается любая разработка на листе размещаются элементы ActiveX, и ряду их свойств присваиваются необходимые значения. На первый взгляд свойства Name и Caption похожи, и кажется, одно из них является лишним. Однако это не так, и в связи с этим дадим небольшое пояснение. Дело в том, что Name внутреннее название объекта, и значение этого свойства используется на программном уровне (во введении об этом уже шла речь). Если мы хотим использовать в программном коде обращение к свойствам и методам объекта, то в строке программной процедуры необходимо указать имя объекта. Свойство же Caption отвечает просто за надпись на кнопке, и значение его только отображается на экране.

Реально у каждого элемента ActiveX имеется много свойств. Некоторые из них являются общими для большинства (или даже для всех) элементов ActiveX, а другие свойства уникальны для определенных элементов управления.

Рис. 1.14. Установка свойств кнопки

Таким образом, результатом выполненных действий явились создание нового объекта в нашей рабочей книге Microsoft Excel и установка значений для ряда его свойств. Вообще, в режиме конструктора мы размещаем на рабочем листе элементы ActiveX и устанавливаем значения их свойств, а в режиме выполнения работаем с созданными объектами (щелкаем кнопками, вводим текст в текстовые окна и т. д.).

Источник

VBA Excel. Элемент управления CommandButton (кнопка)

Элемент управления пользовательской формы CommandButton, используемый в VBA Excel для запуска процедур и макросов. Свойства кнопки, примеры кода с ней.

Элемент управления CommandButton

Для запуска процедур и макросов обычно используется событие кнопки – 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:

Источник

Как изменить цвет кнопки управления ActiveX в Excel, Word, PowerPoint

В Microsoft Excel, Word или PowerPoint вкладка «Разработчик» является дополнительной вкладкой, которая позволяет пользователям получать доступ к элементам управления формы и другим элементам управления типа программирования, таким как макросы, сопоставление, надстройки, шаблоны, защита и элементы управления, которые включают кнопки управления ActiveX. К кнопкам ActiveX относятся флажок, текстовое поле, метка, кнопка «Параметры», кнопка «Счетчик», поле со списком, кнопка «Команда» и т. д. Когда кнопка ActiveX выбрана, пользователи могут запрограммировать ее для запуска действия или изменения ее внешнего вида с помощью предлагаемой функции «Свойства». .

Как изменить цвет кнопок управления ActiveX в Excel, Word, PowerPoint

Выполните следующие действия, чтобы изменить цвет кнопок управления ActiveX в Microsoft Excel, Word или PowerPoint.

  1. Запустите Microsoft Excel, Word или PowerPoint.
  2. Щелкните вкладку Разработчик.
  3. Нажмите кнопку «Устаревшие инструменты» в разделе группы «Элементы управления».
  4. Выберите кнопку ActiveX в меню.
  5. Нажмите кнопку Свойства.
  6. Нажмите «Цвет фона» и выберите цвет из списка.
  7. Цвет изменится.

Мы используем Word в качестве примера, но процедура идентична:

Запустите Microsoft Word.

Программы для Windows, мобильные приложения, игры — ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале — Подписывайтесь:)

Щелкните вкладку «Разработчик» в строке меню.

Нажмите на Устаревшие инструменты кнопка в Элементы управления групповой раздел. Функция Legacy Tools позволяет пользователям вставлять кнопки Active X и элементы управления формами в свои документы.

Выберите кнопку Active X в меню. В этом уроке мы выбрали текстовое поле.

Затем щелкните Характеристики кнопка в Контроль группа. Кнопка «Свойства» позволяет пользователям просматривать и изменять свойства выбранного элемента управления.

Откроется диалоговое окно «Свойства», демонстрирующее свойства выбранной вами кнопки Active X.

Нажмите на НазадЦвет кнопка в диалоговом окне «Свойства»; вы увидите окно со списком цветов с двумя вкладками Система вкладка и Палитра вкладка

Выберите цвет из Система вкладка или Палитра вкладка

Цвет кнопки автоматически изменится на выбранный вами цвет.

В диалоговом окне «Свойства» вы также можете изменить цвет границы кнопки Active X; Нажмите Цвет границыи цвет кнопки Active X изменится на выбранный цвет.

Если вы ввели текст в текстовое поле Active X, вы можете изменить цвет текста.

В диалоговом окне «Свойства» щелкните передний цвет и выберите цвет из Система или Палитра вкладка

После того, как вы закончили изменять кнопку Active X; нажмите кнопку закрытия.

ПРОЧИТАЙТЕ: как добавлять и изменять элементы управления содержимым в Microsoft Word.

Как отобразить вкладку «Разработчик» в Excel, Word или PowerPoint

  • Откройте Excel, Word или PowerPoint
  • Нажмите «Файл»> «Параметры».
  • Выберите «Настроить ленту» > «Настроить ленту» > «Главные вкладки».
  • Проверьте Разработчик и выберите Сохранить.
  • Перезапустите Ворд.

Что такое элементы управления ActiveX в Excel, Word или PowerPoint?

Элементы управления ActiveX — это небольшие стандартные блоки, которые создают приложения, работающие через Интернет через веб-браузеры. Обычно элементы управления ActiveX используются для командных кнопок, списков и диалоговых окон.

В чем разница между элементами управления ActiveX и Form?

Разница между элементами управления ActiveX и элементами управления формы заключается в том, что элементы управления ActiveX загружаются отдельно, а элементы управления формы встроены в Excel. Элементы управления форм намного проще, а элементы управления Active X более сложны.

Мы надеемся, что это руководство поможет вам понять, как изменить цвет кнопок ActiveX в Excel, Word или PowerPoint; если у вас есть вопросы по поводу урока, дайте нам знать в комментариях.

Программы для Windows, мобильные приложения, игры — ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале — Подписывайтесь:)

Источник

Элемент управления пользовательской формы CommandButton, используемый в VBA Excel для запуска процедур и макросов. Свойства кнопки, примеры кода с ней.

UserForm.CommandButton – это элемент управления пользовательской формы, предназначенный исключительно для запуска процедур и макросов VBA Excel.

Элемент управления CommandButton

Для запуска процедур и макросов обычно используется событие кнопки – 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 можно ориентироваться как на подсказку, которая указывает на то, что эта строка вызывает внешнюю процедуру.

Изменение цвета кнопки

Oh_Nick

Дата: Среда, 03.08.2022, 10:37 |
Сообщение № 1

Группа: Проверенные

Ранг: Обитатель

Сообщений: 269


Репутация:

0

±

Замечаний:
20% ±


Excel 2019

Всем доброго времени суток.

Снизу действие меняет цвет кнопки на зеленый, а как сделать, чтобы кнопка при повторном нажатии убирала зеленый? Т.е должен получится своего рода переключатель с зеленого на обычный:

[vba]

Код

Private Sub CommandButton2_Click()

CommandButton2.BackColor = 65407

End Sub

[/vba]

 

Ответить

Nic70y

Дата: Среда, 03.08.2022, 10:52 |
Сообщение № 2

Группа: Друзья

Ранг: Экселист

Сообщений: 8136


Репутация:

1999

±

Замечаний:
0% ±


Excel 2010

[vba]

Код

Private Sub CommandButton2_Click()
    If CommandButton2.BackColor = 65407 Then
        CommandButton2.BackColor = -2147483633
    Else
        CommandButton2.BackColor = 65407
    End If
End Sub

[/vba]


ЮMoney 41001841029809

 

Ответить

Oh_Nick

Дата: Среда, 03.08.2022, 11:05 |
Сообщение № 3

Группа: Проверенные

Ранг: Обитатель

Сообщений: 269


Репутация:

0

±

Замечаний:
20% ±


Excel 2019

Nic70y, спасибо!

 

Ответить

Oh_Nick

Дата: Среда, 03.08.2022, 15:14 |
Сообщение № 4

Группа: Проверенные

Ранг: Обитатель

Сообщений: 269


Репутация:

0

±

Замечаний:
20% ±


Excel 2019

Еще вопрос:

А как сделать, чтобы например:

Нажимаем на кнопку, она зеленая и ячейка становится активна (например А1), потом нажимаем кнопку, она красная и ячейка неактивна?

 

Ответить

Nic70y

Дата: Среда, 03.08.2022, 16:09 |
Сообщение № 5

Группа: Друзья

Ранг: Экселист

Сообщений: 8136


Репутация:

1999

±

Замечаний:
0% ±


Excel 2010

а что долно быть активно?
активна:[vba][/vba]


ЮMoney 41001841029809

 

Ответить

Oh_Nick

Дата: Среда, 03.08.2022, 16:16 |
Сообщение № 6

Группа: Проверенные

Ранг: Обитатель

Сообщений: 269


Репутация:

0

±

Замечаний:
20% ±


Excel 2019

Nic70y,

Все активно кроме этой ячейки, например. Ячейка H3 неактивна (нельзя в нее ничего писать) когда кнопка красная, нажимаем кнопку она становится зеленой и ячейку можно заполнять.

К сообщению приложен файл:

Book1.xlsx
(17.0 Kb)

 

Ответить

Nic70y

Дата: Среда, 03.08.2022, 16:50 |
Сообщение № 7

Группа: Друзья

Ранг: Экселист

Сообщений: 8136


Репутация:

1999

±

Замечаний:
0% ±


Excel 2010

[vba]

Код

Private Sub CommandButton2_Click()
    If CommandButton2.BackColor = 255 Then
        CommandButton2.BackColor = 65407
    Else
        CommandButton2.BackColor = 255
        Range(«a1»).Select
    End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    u = Selection.Address
    v = CommandButton2.BackColor
    w = InStr(u & «:», «$H$3:»)
    If w > 0 And v = 255 Then Range(«a1»).Select
End Sub

[/vba]

К сообщению приложен файл:

19.xlsm
(22.8 Kb)


ЮMoney 41001841029809

Сообщение отредактировал Nic70yСреда, 03.08.2022, 16:56

 

Ответить

Oh_Nick

Дата: Среда, 03.08.2022, 16:58 |
Сообщение № 8

Группа: Проверенные

Ранг: Обитатель

Сообщений: 269


Репутация:

0

±

Замечаний:
20% ±


Excel 2019

Nic70y, спасибо, супер!

 

Ответить

Oh_Nick

Дата: Среда, 03.08.2022, 17:04 |
Сообщение № 9

Группа: Проверенные

Ранг: Обитатель

Сообщений: 269


Репутация:

0

±

Замечаний:
20% ±


Excel 2019

Nic70y, еще маленький вопрос:

Я правильно понимаю, что если мне нужно например несколько ячеек такими делать, то мне достаточно написать вот таким образом какие , или нет?

[vba]

Код

w = InStr(u & «:», «$H$3:», «$K$7:»,….)

[/vba]

 

Ответить

RAN

Дата: Среда, 03.08.2022, 17:27 |
Сообщение № 10

Группа: Друзья

Ранг: Экселист

Сообщений: 5645


Конечно нет. Нужно еще перемочь свою лень, и прочитать справку по функции InStr().


Быть или не быть, вот в чем загвоздка!

 

Ответить

Nic70y

Дата: Четверг, 04.08.2022, 07:58 |
Сообщение № 11

Группа: Друзья

Ранг: Экселист

Сообщений: 8136


Репутация:

1999

±

Замечаний:
0% ±


Excel 2010

Oh_Nick, не в ту степь…
проще снять защиту с ячеек, с тех которые должны быть «неактивны» не снимать.
красный — защитить лист,
зеленый — снять защиту,
это:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    u = Selection.Address
    v = CommandButton2.BackColor
    w = InStr(u & «:», «$H$3:»)
    If w > 0 And v = 255 Then Range(«a1»).Select
End Sub

выбросить.
всегда можно попробовать — вывалится ошибка — поймете правильно или нет


ЮMoney 41001841029809

 

Ответить

Oh_Nick

Дата: Четверг, 04.08.2022, 13:02 |
Сообщение № 12

Группа: Проверенные

Ранг: Обитатель

Сообщений: 269


Репутация:

0

±

Замечаний:
20% ±


Excel 2019

Nic70y,

[vba]

Код

Private Sub CommandButton2_Click()
    If CommandButton2.BackColor = 65407 Then
        CommandButton2.BackColor = 255
    Else
        CommandButton2.BackColor = 65407
        Range(«a1»).Select
    End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    u = Selection.Address
    v = CommandButton2.BackColor
    w = InStr(u & «:», «$H$3:»)
    If w > 0 And v = 255 Then Range(«a1»).Select
End Sub
Private Sub CommandButton13_Click()
    If CommandButton13.BackColor = 65407 Then
        CommandButton13.BackColor = 255
    Else
        CommandButton13.BackColor = 65407
        Range(«a1»).Select
    End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    u = Selection.Address
    v = CommandButton13.BackColor
    w = InStr(u & «:», «$S$7:»)
    If w > 0 And v = 255 Then Range(«a1»).Select
End Sub

[/vba]

Выдает ошибку Compile error: Ambiguous name detected: Worksheet_SelectionChange, якобы повтор функции. Как быть?

 

Ответить

Nic70y

Дата: Четверг, 04.08.2022, 13:07 |
Сообщение № 13

Группа: Друзья

Ранг: Экселист

Сообщений: 8136


Репутация:

1999

±

Замечаний:
0% ±


Excel 2010

прочитать сообщение выше.
ну да 2 Private Sub Worksheet_SelectionChange(ByVal Target As Range) в одном модуле не может быть,
да при желании

    w = InStr(u & «:», «$H$3:»)
    If w > 0 And v = 255 Then Range(«a1»).Select

можно обойти (если догадаться как)
с защитой листа будет эффективнее


ЮMoney 41001841029809

 

Ответить

Oh_Nick

Дата: Четверг, 04.08.2022, 13:26 |
Сообщение № 14

Группа: Проверенные

Ранг: Обитатель

Сообщений: 269


Репутация:

0

±

Замечаний:
20% ±


Excel 2019

Nic70y,

Проблема в том, что мы не можем защищать лист, т.к остальные ячейки вообще к этому не имеют отношения, а их например нужно заполнять. защищая лист мы не можем вообще ничего заполнять нигде.

 

Ответить

Nic70y

Дата: Четверг, 04.08.2022, 13:28 |
Сообщение № 15

Группа: Друзья

Ранг: Экселист

Сообщений: 8136


Репутация:

1999

±

Замечаний:
0% ±


Excel 2010

защищая лист мы не можем вообще ничего заполнять нигде

кто вам такое сказал?

проще снять защиту с ячеек, с тех которые должны быть «неактивны» не снимать.


ЮMoney 41001841029809

 

Ответить

Oh_Nick

Дата: Четверг, 04.08.2022, 15:32 |
Сообщение № 16

Группа: Проверенные

Ранг: Обитатель

Сообщений: 269


Репутация:

0

±

Замечаний:
20% ±


Excel 2019

Nic70y, ладно, попробую разобраться. Спасибо !

 

Ответить

Nic70y

Дата: Четверг, 04.08.2022, 15:58 |
Сообщение № 17

Группа: Друзья

Ранг: Экселист

Сообщений: 8136


Репутация:

1999

±

Замечаний:
0% ±


Excel 2010

да что тут разбираться


ЮMoney 41001841029809

Сообщение отредактировал Nic70yЧетверг, 04.08.2022, 15:59

 

Ответить

Oh_Nick

Дата: Пятница, 05.08.2022, 08:20 |
Сообщение № 18

Группа: Проверенные

Ранг: Обитатель

Сообщений: 269


Репутация:

0

±

Замечаний:
20% ±


Excel 2019

Nic70y, а, вы таким способом) думал как-то иначе, спасибо)

 

Ответить

Как в VBA Excel использовать свойства элемента управления «Кнопка»

Как уже было сказано во введении, у программных объектов имеются различные свойства. Первое очевидное желание заключается в том, чтобы просмотреть (а затем и изменить) значения свойств объектов. Для просмотра свойств объекта его необходимо сначала выделить в режиме конструктора (щелкнуть на нем мышью), а затем с помощью пиктограммы Свойства (она расположена рядом с пиктограммой Режим конструктора) открыть окно свойств (рис. 1.8).

Рис. 1.8. Окно свойств объекта

Рис. 1.8. Окно свойств объекта

В окне свойств отображается таблица набор строк в два столбца. При этом левый столбец отводится для названий свойств, а в нравом расположены значения этих свойств. Понятно, что содержание левого столбца изменить нельзя свойства объекта уже определены его разработчиком (компанией Microsoft). А значения свойств мы поменять можем для этого достаточно щелкнуть в ячейке правого столбца и изменить се содержание.

Если приглядеться к окну на рис. 1.8, то мы увидим, что для ряда свойств возможны только два варианта значений. Например, для свойства Visible (определяет видимость объекта на экране) возможны только значения False и True. Такая ситуация наблюдается и для ряда других свойств. Среди них можно отметить Enabled определяет доступ к объекту в режиме выполнения (если установить для этого свойства значение False и выйти из режима конструктора, то объект будет недоступен). Свойство AutoSize позволяет обеспечить автоматическую подгонку размеров кнопки под размер текста, расположенного на ней. Такое будет происходить, если установить True в качестве значения данного свойства.

Для некоторых других свойств следует устанавливать числовые значения. Так, местоположение и размеры элемента управления определяются следующими свойствами:

  • Width ширина;
  • Height высота;
  • Тор координата верхней границы элемента, начиная от верхней части листа;
  • Left координата левой границы элемента, начиная от левой части листа.

Если для свойства Enabled установлено значение False, то элемент управления на экране будет выглядеть более блекло (такая ситуация знакома по работе с различными приложениями, когда ряд разделов меню недоступен).

Рис. 1.9. Палитра цветов

Рис. 1.9. Палитра цветов

Если теперь в режиме конструктора выбудете перемещать созданную на листе кнопку но экрану и изменять ее размеры (с помощью окружающих ее маркеров), то соответствующие значения в окне свойств будут меняться. И наоборот, изменив значения в окне свойств, вы увидите изменения на экране. Для установки значений ряда свойств следует использовать пиктографические меню. Так, с помощью свойства BackColor можно изменять цвет кнопки. Для этого всего лишь требуется щелчком мыши выбрать необходимый цвет (рис. 1.9). Аналогичное свойство ForeColor определяет цвет текста на кнопке. За надпись на кнопке отвечает другое свойство Caption. Если напротив названия этого свойства ввести текст (рис. 1.10), то мы увидим его и на кнопке.

Рис. 1.10. Установка значения свойства Caption

Рис. 1.10. Установка значения свойства Caption

Для изменения шрифта текста на кнопке имеется свойство Font. Если в окне свойств попытаться изменить его значение, то перед вами откроется знакомое (но работе с различными приложениями) окно для выбора шрифта и размера букв (рис. 1.11). При этом технические действия здесь выполняются с помощью щелчков мышью.

Рис. 1.11. Окно диалога для выбора шрифта надписи на кнопке

Рис. 1.11. Окно диалога для выбора шрифта надписи на кнопке

Еще одно интересное свойство, Picture, позволяет разместить на кнопке изображение (рис. 1.12) из графического файла. Для этого в качестве значения свойства следует указать имя файла. Это действие производится с помощью стандартного диалогового окна (рис. 1.13), в котором необходимо выбрать один из графических файлов на компьютере либо в сети. В случае, если вы захотите убрать изображение, то в ноле для значения данного свойства следует воспользоваться клавишей Delete.

Во введении уже упоминалось, что основное свойство объекта это имя. В окне свойств оно называется Name. Как мы видели (см. рис. 1.8) на примере создания кнопки, Excel автоматически присвоил ей имя. Имя первой созданной кнопки на рабочем листе по умолчанию CommandButtonl, которое вы при желании можете изменить. Явной необходимости изменения имен, которые присваиваются по умолчанию, нет. Однако очень часто программисты назначают объектам свои имена. Это связано с тем, что к любым объектам на листе мы можем получить доступ из текста программы (фактически требуется обращаться к свойствам и методам этих объектов), указав имя конкретного объекта. В связи с этим с точки зрения организации программного кода часто удобнее использовать свою систему назначения имен объектов.

Рис. 1.12. Размещение на кнопке изображения

Рис. 1.12. Размещение на кнопке изображения

Система формирования имен по умолчанию заключается в комбинации типа элемента управления (CommandButton — командная кнопка) и числа (порядкового номера элемента управления данного типа).

Для первой созданной кнопки имя — CommandButton1. Если мы на рабочем листе разместим еще одну кнопку, то она будет иметь имя CommandButton2. При добавлении последующих кнопок данный принцип сохраняется. Если вы все же решитесь изменить имя, то вместо CommandButton1 в окне свойств следует набрать слово или словосочетание, которое вас устраивает. Но заметим, что оно должно быть без пробелов внутри (частая ошибка в первых разработках). В качестве примера подберем новое имя для кнопки — PrimerButton.

Рис. 1.13. Окно диалога для выбора графического файла

Рис. 1.13. Окно диалога для выбора графического файла

Теперь, если вы произвели описанные выше установки (а также убрали изображение очистили значение в свойстве Picture), кнопка будет выглядеть так, как показано на рис. 1.14. Для свойства AutoSize здесь установлено значение True, что позволяет подогнать размеры кнопки под расположенную на ней надпись.

С подобных шагов начинается любая разработка на листе размещаются элементы ActiveX, и ряду их свойств присваиваются необходимые значения. На первый взгляд свойства Name и Caption похожи, и кажется, одно из них является лишним. Однако это не так, и в связи с этим дадим небольшое пояснение. Дело в том, что Name внутреннее название объекта, и значение этого свойства используется на программном уровне (во введении об этом уже шла речь). Если мы хотим использовать в программном коде обращение к свойствам и методам объекта, то в строке программной процедуры необходимо указать имя объекта. Свойство же Caption отвечает просто за надпись на кнопке, и значение его только отображается на экране.

Реально у каждого элемента ActiveX имеется много свойств. Некоторые из них являются общими для большинства (или даже для всех) элементов ActiveX, а другие свойства уникальны для определенных элементов управления.

Рис. 1.14. Установка свойств кнопки

Рис. 1.14. Установка свойств кнопки

Таким образом, результатом выполненных действий явились создание нового объекта в нашей рабочей книге Microsoft Excel и установка значений для ряда его свойств. Вообще, в режиме конструктора мы размещаем на рабочем листе элементы ActiveX и устанавливаем значения их свойств, а в режиме выполнения работаем с созданными объектами (щелкаем кнопками, вводим текст в текстовые окна и т. д.).

VBA Excel. Элемент управления CommandButton (кнопка)

Для запуска процедур и макросов обычно используется событие кнопки – 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:

Поменять цвет кнопки в экселе. Создана кнопка в экселе, поменял шрифт и цвет шрифта, а надо ещё цвет самой кнопки.

а кусок кода выглядит примерно так:
UserForm1.CommandButon1.BackColor = .

Цвет кнопки можно сделать без формы.
1. Создать кнопку «Элемента управления» (не «Формы»)
2. Включить режим конструктора. Правая верхняя кнопка на панели Элементов управления (треугольник, линейка, карандаш)
3. ПКМ — «Свойства».
4. Настроить цвет кнопки (BackColor)
5. Задать текст на кнопке (Caption)
6. Можно задать шрифт, его цвет, размер и тд.
7. Закрыть «Свойства»
8. Дважды щелкнуть ЛКМ по кнопке (в режиме конструктора) . Откроется редактор VBA и модуль кнопки.
9. Поместите свой код в CommandButton1_Click ()
10. Отключить режим конструктора и закрыть панель «Элементов управления».
Теперь кнопкой можно пользоваться.

В Excel, когда вы вставляете командную кнопку, цвет кнопки по умолчанию серый. Но иногда вам нужно изменить серый цвет на красивый, чтобы сделать рабочий лист более профессиональным. Сегодня я могу представить вам несколько быстрых приемов изменения цвета кнопки в Excel.

Измените цвет кнопки ActiveX Control с изменением свойств
Изменить цвет кнопки элемента управления ActiveX с кодом VBA


Изменить цвет кнопки элемента управления ActiveX с изменением свойства

Обычно в Excel есть два типа кнопок: одна – это кнопка Управление формой , а другая – Кнопка ActiveX Control . Если это кнопка управления формой, вы можете просто изменить ее цвет шрифта, но не меняйте цвет фона. Вы просто можете изменить цвет задней части кнопки ActiveX Control. Пожалуйста, сделайте следующее:

1. Вставьте кнопку ActiveX Control , нажав Developer > Вставить и выберите Command Button в разделе Элементы управления ActiveX , см. снимок экрана:

Примечание : если Вкладка Разработчик не отображается на ленте, вы можете нажать Файл > Option > Настроить ленту . , затем отметьте Разработчик на правой панели, чтобы отобразить вкладку Разработчик .

2 . Затем перетащите мышь, чтобы нарисовать кнопку.

3 . Затем выберите кнопку и щелкните правой кнопкой мыши, выберите Свойства в контекстном меню и в появившемся диалоговом окне Свойства нажмите По алфавиту , а затем щелкните раскрывающийся список BackColor , чтобы выбрать один понравившийся вам цвет, см. снимки экрана:

таблица>

4 . Затем закройте диалоговое окно, и цвет вашей командной кнопки будет изменен следующим образом:

5 . Наконец, выйдите из режима дизайна , нажав Developer > Design Mode , чтобы кнопка работала нормально.


Измените цвет кнопки управления ActiveX с помощью кода VBA

Как мы Как видите, Excel предоставляет нам несколько цветов в диалоговом окне «Свойства». С помощью следующего простого кода VBA можно выбрать множество цветов.

1. Вставьте командную кнопку и щелкните правой кнопкой мыши, затем выберите Просмотреть код в контекстном меню, см. снимок экрана:

. Затем отобразится окно Microsoft Visual Basic для приложений , см. Снимок экрана:

3 . Затем скопируйте и вставьте этот простой скрипт кода: CommandButton1.BackColor = 12713921 в окно между двумя кодами, см. Снимок экрана:

Примечание. В приведенном выше скрипте кода CommandButton1 – это имя вашей кнопки, а номер 12713921 – это номер MS-Access , все они переменной, вы можете изменить их по своему усмотрению.

4. Затем нажмите клавишу F5 , чтобы запустить этот код, и ваш цвет кнопки был сразу изменен.

Совет : вы можете перейти на этот веб-сайт: http://www.endprod.com/colors/, чтобы увидеть больше Номер доступа MS-Access сильные> значения цвета, возможно, вы можете использовать сотни цветов. После открытия веб-сайта вам просто нужно выбрать цвет и скопировать соответствующий номер в MSAccess herder, а затем заменить указанный выше номер в кодовом скрипте.


Понравилась статья? Поделить с друзьями:
  • Задача на сложные проценты в excel
  • Задачи excel для школьников
  • Задать функцию как переменную в excel
  • Задача на рацион питания excel
  • Задачи excel для егэ