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

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

  • автор:

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

Какой кнопки? На форме? На листе?
Если на листе, то что такое кнопка?
Элемент с панели Формы, или панели Элементы управления?
Или, может, это просто автофигура?

CommandButton1 на форме
Последний раз редактировалось segail; 20.06.2009 в 18:01 .
Форумчанин
Регистрация: 13.06.2009
Сообщений: 691
Сообщение от doober
Я же дал ссылку на книгу и написал.Там ответы на будущие вопросы
Не понял, необходимо книгу что ли скачать?
Регистрация: 02.05.2009
Сообщений: 3,907
Читай личные сообщения.Да когда почитаешь книгу все вопросы отпадут
Анализ,обработка данных Недорого
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856

CommandButton1

Я разве спрашивал, как называется кнопка?
Что представляет из себя эта кнопка, и где она находится?

Не понял, необходимо книгу что ли скачать?

Не только скачать, но и прочитать не помешает.
Или, если так не хочется читать книги, можно воспользоваться поиском
Ну или поискать информацию здесь: http://msoffice.nm.ru/faq/macros.htm

__ Полезные надстройки для Excel. Парсинг сайтов и файлов.
Макросы любой сложности на заказ. Мониторинг цен конкурентов

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

Форумчанин
Регистрация: 13.06.2009
Сообщений: 691

Ребята почитаю, мне необходимо проект доделать. У меня пару вопросов осталось и я вам не буду мешать.
А поиск вещь не эффективная на любом форуме.

Кнопка находится на форме VBA

Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856

Кнопка находится на форме VBA

С этого и надо было начинать.

Private Sub CommandButton1_Click() Me.CommandButton2.Caption = "текст на кнопке" Me.CommandButton2.BackColor = vbGreen ' цвет кнопки Me.CommandButton2.ForeColor = vbRed ' цвет шрифта End Sub
А поиск вещь не эффективная на любом форуме

Очень даже эффективная. Если им пользоваться.

__ Полезные надстройки для Excel. Парсинг сайтов и файлов.
Макросы любой сложности на заказ. Мониторинг цен конкурентов

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

Форумчанин
Регистрация: 13.06.2009
Сообщений: 691

Большое спасибо.
У меня потом будет пару вопросов по сохраненю. А потом буду читать книгу.
Хотя я начинал кое-что читать не очень. Ответ спеца более эффективен (то есть практика для меня более понятна)

Последний раз редактировалось segail; 20.06.2009 в 18:54 .

Страница 1 из 2 1 2 Следующая >
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
цвет-текст Лубышев Помощь студентам 3 18.02.2008 12:24
Цвет кнопки Snake_ua Общие вопросы Delphi 23 04.02.2008 18:47
Цвет фона кнопки romets Win Api 10 23.01.2008 17:13
Меняем цвет текста в элементе Sargon Общие вопросы Delphi 15 13.09.2007 08:06
Как изменить цвет шрифта кнопки + объявление OnClick Yury Общие вопросы Delphi 7 04.05.2007 04:55

Как изменить цвет фона элемента CommandButton в Excel 2010?

Добавил на лист Excel 2010 элементы кнопки CommandButton (не в форму, а просто поместил на ячейки) . Мне необходимы три кнопки с разным цветом фона, чтобы по нажатию на каждую осуществлялась фильтрация строк листа по цвету фона данной кнопки. Вопрос. Как задать нужный цвет фона у кнопки? Или что еще можете порекомендовать для решения данного задания?

Дополнен 11 лет назад

Я предполагал, что модули с программным кодом для кнопок добавляются в проект VBA для данной книги, но, к сожалению, не нашел ничего подобного в окне просмотра проекта

Голосование за лучший ответ

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

Как настроить динамическое изменение цвета кнопки средствами 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, выйдя из режима конструктора, и при перемещении мыши в пределах кнопки посмотреть на изменение ее цвета.

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

Ниже описанный способ настройки внешнего вида кнопок начиная с ZuluGIS версии 8.0.0.7138 не актуален. В настоящей версии настройка иконок производится через диалог Настройка интерфейса . Подробнее смотрите раздел «Настройка интерфейса для макросов». Так же в данном разделе можно ознакомится с тем, как привязать макрос к кнопке панели инструментов, назначить кнопке иконку (картинку) и добавить макрос в пункт главного меню системы. Как назначить макросу сочетание клавиш можно узнать в разделе «Назначение « горячих » клавиш».

Для привязки макроса к кнопке:

  1. Сделайте щелчок правой кнопкой мыши в области панели инструментов. В появившемся контекстном меню выберите пункт Настройка .
  2. В разделе Категории выделите пункт Макросы , после чего в разделе Команды отразятся названия всех имеющихся макросов.
  3. Выберите макрос и перетащите его на панель инструментов.
  4. Для смены имени или настройки внешнего вида кнопки макроса сделайте щелчок правой кнопкой мыши на кнопке.
  5. Для смены имени в строке Имя внесите новое имя кнопки. С помощью пункта Копировать значок на кнопке имеется возможность скопировать значок с другой кнопки, а с помощью пункта Вставить значок для кнопки, соответственно вставить его. Для вызова редактора картинок выберите пункт Изменить значок на кнопке .
  6. В редакторе Картинка на кнопке в разделе Цвета выберите цвет рисунка, а в разделе Картинка нарисуйте картинку. При этом в разделе Просмотр будет отображаться созданная кнопка. С помощью стрелок из раздела Переместить можно сместить картинку в ту или иную сторону.

Диалог «Картинка на кнопке»

Рисунок 908. Диалог « Картинка на кнопке »

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

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