Как изменить цвет кнопки в эксель
Перейти к содержимому

Как изменить цвет кнопки в эксель

  • автор:

Как изменить цвет кнопки в эксель

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

Регистрация: 18.01.2015

Сообщений: 29

Как изменить цвет кнопки VBA?

Как изменить цвет кнопки в VBA(кнопка создана на рабочем листе Excel)?

Александр Шатило
Посмотреть профиль
Найти ещё сообщения от Александр Шатило

Участник клуба

Регистрация: 16.06.2011

Сообщений: 1,424

.. правой кнопкой

Нашедшего выход — затаптывают первым..

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Текст и цвет текста кнопки VBA segail Microsoft Office Excel 17 27.11.2020 09:27
Как изменить цвет кнопки (фон GROUPBOXa)? realtype Win Api 0 21.05.2011 14:32
Как программно изменить цвет кнопки в Delphi Source-of-life Помощь студентам 8 13.04.2010 21:18
Как изменить на форме цвет кнопки закрыть? VintProg Общие вопросы Delphi 1 10.07.2009 17:08
Как изменить цвет шрифта кнопки + объявление OnClick Yury Общие вопросы Delphi 7 04.05.2007 04:55

Добавление и изменение цвета фона ячеек

Можно выделить данные в ячейках с помощью кнопки Цвет заливки, чтобы добавить или изменить цвет фона или узор в ячейках. Вот как это сделать:

    Выберите ячейки, которые нужно выделить.

  • Чтобы использовать другой цвет фона для всего таблицы, нажмите кнопку Выбрать все. При этом линии сетки будут скроются, но вы сможете улучшить читаемость, отобразив границы ячеек вокруг всех ячеек.
  • Щелкните Главная > стрелку рядом с кнопкой Цвет заливки или нажмите клавиши ALT+H, H. Группа
  • Выберите нужный цвет в группе Цвета темы или Стандартные цвета. выбор цвета шрифта;Чтобы использовать дополнительный цвет, выберите команду Другие цвета, а затем в диалоговом окне Цвета выберите нужный цвет.

    Совет: Чтобы применить последний выбранный цвет, достаточно нажать кнопку Цвет заливки . Кроме того, в группе Последние цвета доступны до 10 цветов, которые вы выбирали в последнее время.

    Применение узора или способов заливки

    Если вас не устраивает сплошная заливка цветом, попробуйте применить узор или один из доступных способов заливки.

    1. Выделите ячейку или диапазон ячеек, которые нужно отформатировать.
    2. На вкладке Главная нажмите кнопку вызова диалогового окна Формат ячеек или просто нажмите клавиши CTRL+SHIFT+F. Кнопка вызова диалогового окна в группе
    3. На вкладке Заливка выберите в разделе Цвет фона нужный цвет. Диалоговое окно с параметрами заливки ячейки и стандартными цветами
    4. Чтобы использовать двухцветный узор, выберите цвет в поле Цвет узора, а затем выберите сам узор в поле Узор. Чтобы создать узор со специальными эффектами, нажмите кнопку Способы заливки и выберите нужные параметры.

    Совет: В поле Образец можно просмотреть выбранный фон, узор и способ заливки.

    Удаление цвета, узора и способа заливки из ячеек

    Чтобы удалить все цвета фона, узоры и способы заливки, просто выделите ячейки. На вкладке Главная нажмите стрелку рядом с кнопкой Цвет заливки и выберите пункт Нет заливки.

    Группа

    Цветная печать ячеек, включая цвет фона, узор и способ заливки

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

    Кнопка вызова диалогового окна в группе

    1. Откройте вкладку Разметка страницы и нажмите кнопку вызова диалогового окна Параметры страницы.
    2. На вкладке Лист в группе Печать снимите флажки черно-белая и черновая.

    Примечание: Если цвета на листе не отображаются, возможно, выбран высококонтрастный режим. Если цвета не отображаются при предварительном просмотре, возможно, не выбран цветной принтер.

    Если вы хотите выделить текст или числа, чтобы сделать данные более заметными, попробуйте изменить цвет шрифта или добавить цвет фона к ячейке или диапазону ячеек.

    Образец с применением цвета текста и заливки фона ячейки

    Кнопка заливки и параметры на ленте

    1. Вы ячейка или диапазон ячеек, для которых нужно добавить цвет заливки.
    2. На вкладке Главная нажмите кнопку Цвет заливкии выберите нужный цвет.

    Примечание: Эффекты узорной заливки для цветов фона недоступны для Excel в Интернете. Если применить любой из Excel на компьютере, он не будет отображаться в браузере.

    Удаление цвета заливки

    Если вы решите, что цвет заливки не нужен сразу после его вжатия, просто нажмите кнопку Отменить.

    Кнопка отмены действия

    Чтобы позже удалить цвет заливки, вы выберите ячейку или диапазон ячеок, которые вы хотите изменить, и нажмите кнопку Очистить > Очистить форматы.

    Удаление форматирования с помощью команды

    Дополнительные сведения

    Вы всегда можете задать вопрос эксперту в Excel Tech Community или получить поддержку в сообществах.

    Как настроить динамическое изменение цвета кнопки средствами VBA

    Разберем еще один пример, который опять будет связан с реакцией на перемещение мыши. Расположим на листе кнопку и сделаем так, чтобы при перемещении курсора мыши в области кнопки ее цвет менялся. Функциональность должна быть следующей:

    • при расположении курсора мыши в левой верхней части кнопки ее цвет должен быть красным;
    • при расположении курсора в правой верхней части кнопки цвет кнопки должен быть зеленым;
    • если курсор находится в нижней левой части — кнопка должна быть синей;
    • при расположении курсора в правой нижней части кнопка должна стать серой.

    Чтобы реализовать требуемый эффект, оформим процедуру реакции на перемещение мыши так, как показано в листинге 1.17. Как видно из текста процедуры, для свойства Name кнопки использовано C1.

    1 2 3 4 5 6 7 8 9 10 11 12 13
    ' Листинг 1.17. Процедура, реализующая динамическое изменение цвета кнопки Private Sub C1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) If X < C1.Width / 2 And Y < C1.Height / 2 Then C1.BackColor - RGB(2 55, 0, 0) ElseIf X > C1.Width / 2 And Y < C1.Height / 2 Then C1.BackColor - RGB(0, 255, 0) ElseIf X < C1.Width / 2 And Y > C1.Height / 2 Then C1.BackColor - RGB(0, 0, 255) Else C1.BackColor - RGB(190, 190, 190) End If End Sub

    ‘ Листинг 1.17. Процедура, реализующая динамическое изменение цвета кнопки Private Sub C1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) If X < C1.Width / 2 And Y < C1.Height / 2 Then C1.BackColor - RGB(2 55, 0, 0) ElseIf X >C1.Width / 2 And Y < C1.Height / 2 Then C1.BackColor - RGB(0, 255, 0) ElseIf X < C1.Width / 2 And Y >C1.Height / 2 Then C1.BackColor — RGB(0, 0, 255) Else C1.BackColor — RGB(190, 190, 190) End If End Sub

    Прокомментируем моменты, которые появились впервые. А именно: значение переменной Y, которое передается в программу, представляет собой координату курсора мыши в области кнопки по вертикали. Полный размер кнопки по вертикали отражается в значении се свойства Height. Координата Y изменяется от верхнего угла кнопки к нижнему, а координата X изменяется от левого угла кнопки к правому. В первом условии процедуры If X . Проверяется находится ли курсор в левой верхней части кнопки. Если условие выполняется, то цвет кнопки устанавливается красным. Для установки цвета используется свойство кнопки BackColor и внутренняя функция RGB: C1.BackColor — RGB(255, 0, 0) .

    Здесь RGB это функция Visual Basic, которая позволяет установить цвет объекта в виде сочетания трех основных цветов красного, зеленого и синего. Интенсивности каждого из этих основных цветов задаются в качестве трех входных параметров. При этом минимальное значение интенсивности цвета равняется 0 (в этом случае в составном цвете данный цветовой компонент просто отсутствует), а максимальное 255. В рассматриваемой строке задаются максимальная интенсивность для красного цвета и отсутствие компонентов зеленого и синего цветов. При подобном сочетании этих трех базовых цветов кнопка будет красной.

    Продолжим рассмотрение текста процедуры, приведенной в листинге. Если первое условие не выполняется, то программа переходит к проверке второго условия: ElseIf X > C1.Width / 2 And Y . Если оно выполняется, то устанавливается зеленый цвет кнопки: C1.BackColor — RGB(0, 255, 0) . А если второе условие не выполняется, то проверяется третье условие: ElseIf X C1.Height / 2 Then .

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

    Свойство «Цвет фона (BackColor)»

    С помощью свойства BackColor можно задать цвет для внутренних объектов элемент управления или раздел. Возвращает доступное для чтения и записи значение типа Long.

    выражение.BackColor

    выражение — обязательный аргумент. Выражение, которое возвращает один из объектов в списке «Применяется к».

    Значения

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

    С помощью построитель цветов можно настроить это свойство, нажав кнопку «Построить» справа от его Окно свойств. С помощью построитель цветов можно определить пользовательские цвета задней части элементов управления или разделов.

    Это свойство можно также настроить с помощью кода Окно свойств, макрос или Visual Basic для приложений (VBA) либо с помощью команды «Цвет заливки» в разделе «Шрифт» (на вкладке «Конструктор» или «Формат» в зависимости от того, находитесь ли вы в конструкторе или макете).

    В Visual Basic для приложений (VBA) для настройки этого свойства используйте числовое выражение. Этот параметр имеет тип данных Long.

    Это свойство можно настроить по умолчанию, используя свойство стиль элемента управления по умолчаниюили DefaultControl в коде VBA.

    Для объектовTable можно задать данное свойство с помощью команды Цвет заливки в разделе Шрифт на вкладке Данные или в коде VBA с помощью свойства DatasheetBackColor.

    Замечания

    Чтобы использовать свойство BackColor, необходимо задать для свойства BackStyle (Тип фона), если оно доступно, значение Normal (Обычный).

    Пример

    В следующем примере с помощью функции RGB задаются свойства BorderColor, BackColor и ForeColor в зависимости от значения поля txtPastDue . Чтобы задать эти свойства, можно также использовать функцию QBColor. Если поместить следующий код в событие Form_Current( ), параметры отображения для элемента управления будут заданы, как только пользователь откроет форму или перейдет к новой записи.

    Sub Form_Current()
    Dim curAmntDue As Currency, lngBlack As Long
    Dim lngRed As Long, lngYellow As Long, lngWhite As Long
    If Not IsNull(Me!txtPastDue.Value) Then
    curAmntDue = Me!txtPastDue.Value
    Else
    Exit Sub
    End If
    lngRed = RGB(255, 0, 0)
    lngBlack = RGB(0, 0, 0)
    lngYellow = RGB(255, 255, 0)
    lngWhite = RGB(255, 255, 255)
    If curAmntDue > 100 Then
    Me!txtPastDue.BorderColor = lngRed
    Me!txtPastDue.ForeColor = lngRed
    Me!txtPastDue.BackColor = lngYellow
    Else
    Me!txtPastDue.BorderColor = lngBlack
    Me!txtPastDue.ForeColor = lngBlack
    Me!txtPastDue.BackColor = lngWhite
    End If
    End Sub

  • Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *