Макросы для checkbox excel

Элемент управления пользовательской формы CheckBox для выбора или невыбора его пользователем и передачи результата в VBA Excel. Свойства «Флажка», примеры кода.

UserForm.CheckBox – это элемент управления пользовательской формы, предназначенный для передачи в код VBA информации о выборе или невыборе его пользователем и возвращающий одно из двух значений: False (галочки нет) или True (галочка установлена).

Элемент управления CheckBox на пользовательской форме

Элемент управления CheckBox состоит из флажка и надписи. В VBA Excel флажок имеет квадратную форму, надпись расположена справа от него. Надпись реагирует на нажатие мышью так же, как и флажок.

По тексту статьи значение слова «Флажок» в кавычках равно значению слова CheckBox, флажок без кавычек обозначает квадрат с галочкой или без нее.

Кроме состояний «выбран» или «не выбран», существует и третье состояние флажка: серая галочка на сером фоне. Получить такое состояние на пользовательской форме можно путем присвоения свойству CheckBox.Value значения Null.

Три состояния элемента управления CheckBox

Надписи флажков выведены с помощью следующего кода VBA Excel:

Private Sub UserForm_Initialize()

CheckBox1.Value = False

CheckBox1.Caption = «CheckBox1.Value = « _

& CheckBox1.Value

CheckBox2.Value = Null

CheckBox2.Caption = «CheckBox2.Value = « _

& CheckBox2.Value

CheckBox3.Value = True

CheckBox3.Caption = «CheckBox3.Value = « _

& CheckBox3.Value

End Sub

Интересно было посмотреть, какое значение отобразится в надписи элемента управления CheckBox2. Обратите внимание на то, что если строку CheckBox2.Caption = "CheckBox2.Value = " & CheckBox2.Value заменить на CheckBox2.Caption = CheckBox2.Value, будет сгенерирована ошибка, так как в VBA не существует текстового отображения значения Null.

Эксперименты показали, что отобразить «Флажок» в третьем состоянии можно также с помощью присвоения свойству CheckBox.Value значения «пустая строка».

Элемент управления CheckBox может использоваться на пользовательской форме для

  • выбора или отмены каких-либо параметров и условий,
  • отображения или скрытия других элементов управления,
  • изменение доступности других элементов управления для взаимодействия с пользователем.

Если требуется выбор только одной опции из группы предложенных, для этой цели в VBA Excel используется набор элементов управления OptionButton.

Свойства элемента «Флажок»

Свойство Описание
AutoSize Автоподбор размера «Флажка». True – размер автоматически подстраивается под длину набираемой строки. False – размер элемента управления определяется свойствами Width и Height.
ControlSource Ссылка на источник данных для свойства Value.
ControlTipText Текст всплывающей подсказки при наведении курсора на CheckBox.
Enabled Возможность взаимодействия пользователя с элементом управления. True – взаимодействие включено, False – отключено (цвет флажка и надписи становится серым).
Font Шрифт, начертание и размер текста надписи.
Height Высота элемента управления.
Left Расстояние от левого края внутренней границы пользовательской формы до левого края элемента управления.
Picture Добавление изображения вместо текста надписи или дополнительно к нему.
PicturePosition Выравнивание изображения и текста в поле надписи.
TabIndex Определяет позицию элемента управления в очереди на получение фокуса при табуляции, вызываемой нажатием клавиш «Tab», «Enter». Отсчет начинается с 0.
TextAlign* Выравнивание текста надписи: 1 (fmTextAlignLeft) – по левому краю, 2 (fmTextAlignCenter) – по центру, 3 (fmTextAlignRight) – по правому краю.
Top Расстояние от верхнего края внутренней границы пользовательской формы до верхнего края элемента управления.
TripleState Определяет, может ли пользователь делать выбор между двумя состояниями «Флажка» или между тремя, включая серую галочку на сером квадрате. True – доступны три состояния, False – доступны два состояния.
Value Значение «Флажка»: True – галочка установлена, False – галочка не установлена, Null – серая галочка на сером квадрате.
Visible Видимость элемента CheckBox. True – элемент отображается на пользовательской форме, False – скрыт.
Width Ширина элемента управления.
WordWrap Перенос текста надписи на новую строку при достижении границы ее поля. True – перенос включен, False – перенос выключен.

* При загруженной в поле надписи картинке свойство TextAlign не работает, следует использовать свойство PicturePosition.

Свойство по умолчанию для элемента CheckBox – Value, основное событие – Click.

В таблице перечислены только основные, часто используемые свойства «Флажка». Все доступные свойства отображены в окне Properties элемента управления CheckBox.

Примеры использования CheckBox

Пример 1
Отображение элемента управления CheckBox на пользовательской форме с параметрами, заданными в коде VBA Excel:

Private Sub UserForm_Initialize()

  With CheckBox1

    .Caption = «Нажмите на меня»

    .ControlSource = «A1»

    .Value = False

    .Left = 12

    .Top = 12

  End With

End Sub

Элемент управления CheckBox, привязанный к ячейке

Размещается данная процедура в модуле пользовательской формы.

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

Пример 2
Смена надписи «Флажка» в зависимости от его состояния:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

‘Устанавливаем первоначальные

‘значения свойств «Флажка»

Private Sub UserForm_Initialize()

  With CheckBox1

    .Caption = «Поставьте галочку»

    .Value = False

    .TripleState = False

  End With

End Sub

‘Меняем надпись «Флажка» при

‘смене параметра CheckBox1.Value

Private Sub CheckBox1_Change()

  If CheckBox1.Value Then

    CheckBox1.Caption = «Снимите галочку»

  Else

    CheckBox1.Caption = «Поставьте галочку»

  End If

End Sub

Пример 3
Скрытие и отображение, изменение доступности других элементов управления с помощью «Флажка».

Для реализации этого примера необходимо создать пользовательскую форму с четырьмя элементами управления: CheckBox1, TextBox1, TextBox2 и CommandButton1. А в модуле формы разместить следующий код:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

‘Устанавливаем первоначальные

‘значения свойств элементов управления

Private Sub UserForm_Initialize()

  With CheckBox1

    .Caption = «Хочу сложить два числа»

    .Value = False

    .TripleState = False

  End With

  With TextBox1

    .Enabled = False

    .Text = «Слагаемое 1»

  End With

  With TextBox2

    .Enabled = False

    .Text = «Слагаемое 2»

  End With

  With CommandButton1

    .Caption = «Сложить»

    .Visible = False

  End With

End Sub

‘Меняем свойства других элементов

‘управления при смене состояния «Флажка»

Private Sub CheckBox1_Change()

  If CheckBox1.Value Then

    TextBox1.Enabled = True

    TextBox2.Enabled = True

    CommandButton1.Visible = True

  Else

    TextBox1.Enabled = False

    TextBox2.Enabled = False

    CommandButton1.Visible = False

  End If

End Sub

‘Складываем два числа

Private Sub CommandButton1_Click()

  If IsNumeric(TextBox1) And IsNumeric(TextBox2) Then

    MsgBox TextBox1 & » + « & TextBox2 & » = « _

    & CDbl(TextBox1) + CDbl(TextBox2)

  End If

End Sub

Форма открывается с недоступными для пользователя текстовыми полями и скрытой кнопкой «Сложить»:

После установки галочки на флажке текстовые поля становятся доступными для редактирования, и отображается кнопка «Сложить»:


 

ton bon

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

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

Здравствуйте уважаемые гуру!

Есть элемент управления checkbox (или флажок) на листе. Как запустить макрос при изменении состояния этого элемента управления?

Большое спасибо!

 

смотря какой флажок
их 2
одному (флажок) назначается готовый макрос
у второго (CheckBox) по ПКМ есть пункт «Исходный текст»

Изменено: Александр Моторин28.01.2021 13:56:27

 

Mershik

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

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

#3

28.01.2021 14:15:33

ton bon,

Код
Private Sub CheckBox1_Click()
If CheckBox1.Value = True Then
    'ваш макрос если установленая галочка
    MsgBox "Активировано"
Else
    'действие если не установленая галочка
End If
End Sub

http://scriptcoding.ru/2013/08/29/vba-checkbox/

Не бойтесь совершенства. Вам его не достичь.

 

ton bon

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

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

Mershik, спасибо! Это должно быть вставлено в код листа?

И одно уточнение. Если макрос один и тот же, независимо от того, стоит галочка или нет, то можно как-нибудь упростить?

 

ton bon

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

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

#5

28.01.2021 14:57:31

Цитата
ton bon написал:
Это должно быть вставлено в код листа?

Извините, спасибо, разобрался по Вашей ссылке. Просто в макрос флажка записываем Call действие! Одна строчка! Спасибо еще раз!

 

Mershik

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

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

#6

28.01.2021 14:58:20

ton bon,

Цитата
ton bon написал:
Это должно быть вставлено в код листа?

можете туда (только название должно соответствен checkbox)

Цитата
ton bon написал:
Если макрос один и тот же, независимо от того, стоит галочка или нет, то можно как-нибудь упростить?

не понял?  зачем тогда использовать checkbox сделайте кнопку которая и будет запускать макрос

Не бойтесь совершенства. Вам его не достичь.

Иногда возникают ситуации, когда нужно включать или отключать активную кнопку  при помощи галочки в поле чек бокса.

Выглядит это примерно, как отметка о согласии с лицензионным соглашением при установке программ — если стоит галочка возле надписи «Согласен» , кнопка «Далее>>»  активна, в противном случае кнопка не активна.

Кнопки активации

Кнопки активации

Рассмотрим, как создать макрос, который будет активировать или  деактивировать кнопку.

Для начала следует создать кнопку «CommandButton1» и чек-бокс активации «CheckBox1» на поле «UserFom1».

UserForm1

UserForm1

Кнопку назовем «Далее>>», а чек бокс подпишем, как «Активация кнопки».

Запись макроса на чек-бокс

Запись макроса на чек-бокс

В свойствах кнопки  выставляем:  Enabled — False

Enabled False

Enabled False

Как записать макрос на действия с Чек-боксом (CheckBox1) .

Шаг 1. Кликаем по CheckBox1 правой кнопкой мыши.

Шаг 2. Выбираем из выпадающего меню пункт «View Code» (показать код).

Шаг 3. В появившемся поле записываем код.

Код активации кнопки:

Private Sub CheckBox1_Click() ‘ клик по кнопке

If UserForm1.CheckBox1.Value = True Then UserForm1.CommandButton1.Enabled = True Else UserForm1.CommandButton1.Enabled = False ‘проверяет значение Чек-бокса и включает кнопку

End Sub

Макрос готов — кнопка активируется по флажку в чекбоксе.

Использование элементов управления Checkbox для скрытия и отображения строк

В прикреплённом файле — 3 варианта реализации:

  • с использованием CheckBox с панели инструментов «Элементы управления»
  • с использованием CheckBox с панели инструментов «Формы»
  • без использования Checkbox — галочки (отметки) ставятся макросом
    (с использованием шрифта Marlett)

Для каждого из вариантов использованы свои макросы, скрывающие и отображающие строки
(в первых двух вариантах требуется ещё и скрывать сами чекбоксы)

В третьем варианте для скрытия строк применён автофильтр.

  • 33064 просмотра

Не получается применить макрос? Не удаётся изменить код под свои нужды?

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

Содержание

  1. Как сделать кнопку с макросом в программе Excel
  2. Для начала следует создать саму кнопку:
  3. Для этого следует записать макрос во вкладке макроси присвоить уже готовый макрос кнопке кликнув по ней ПКМи выбрав «Назначить макрос…»
  4. Добавить комментарий Отменить ответ
  5. Флажок — элемент управления формы в EXCEL
  6. Вставка Флажка
  7. Выделение Флажка
  8. Перемещение Флажка и изменение его размеров
  9. Связываем Флажок с ячейкой
  10. Изменяем внешний вид Флажка
  11. Имя Элемента управления
  12. Прячем Флажок на листе
  13. Использование Флажка
  14. Установка галочки в Microsoft Excel
  15. Установка флажка
  16. Способ 1: вставка через меню «Символ»
  17. Способ 2: подмена символов
  18. Способ 3: установка галочки в чекбоксе
  19. Способ 4: создание чекбокса для выполнения сценария
  20. Способ 5: установка галочки с помощью инструментов ActiveX

Как сделать кнопку с макросом в программе Excel

Одним из первых вопросов, возникающих у начинающих пользователей программы «Эксель», является вопрос о том, как в документе (таблице) создать кнопку (или другой активный элемент) запускающую написанный макрос.

Ведь пользоваться кнопкой для запуска макроса гораздо удобнее и практичнее, чем каждый раз заходить в меню разработчика и запускать его через список макросов (Alt+F8).

Рассмотрим пошагово, как назначить нужный макрос(последовательность действий) для активной кнопки.

Для начала следует создать саму кнопку:

Отложим запись макроса .

Кликнув правой кнопкой мыши по активному объекту, Вы можете выбрать его формат – цвет, стиль и размер текста, заливку и так далее.

Так же можно поменять надпись на кнопке.

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

Для этого следует записать макрос во вкладке макроси присвоить уже готовый макрос кнопке кликнув по ней ПКМи выбрав «Назначить макрос…»

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

Аналогичным образом можно присвоить макрос и для других активных элементов, например, чекбоксов (флажков/галочек).

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

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Источник

Флажок — элемент управления формы в EXCEL

history 9 ноября 2014 г.

Флажок возвращает ИСТИНА (если Флажок установлен) или ЛОЖЬ (если Флажок снят).

Для вставки элементов управления на лист необходимо отобразить вкладку Разработчик.

  • В MS EXCEL 2007 это можно сделать через меню Кнопка офис/ Параметры Excel/ Основные/ Показывать вкладку Разработчик на ленте .
  • В MS EXCEL 2010 это можно сделать так: Откройте вкладку Файл ; Нажмите кнопку Параметры ; Нажмите кнопку Настроить ленту ; Выберите команду Настройка ленты и в разделе Основные вкладки установите флажок Разработчик .

Теперь вставить элемент управления можно через меню: Разработчик/ Элементы управления/ Вставить .

Обратите внимание, что в этом меню можно также вставить Элементы ActiveX, которые расположены ниже интересующих нас Элементов управления формы. У обоих типов есть одни и те же элементы Кнопка, Список, Флажок и т.п. Разница между ними следующая: чтобы использовать Элементы ActiveX необходимо использовать VBA, а Элементы управления формы можно напрямую привязать к ячейке на листе.

Флажок ( Checkbox ) как, впрочем и все другие Элементы управления формы, возвращает только 1 числовое значение. Если Флажок установлен, то он возвращает ИСТИНА, если Флажок снят — то ЛОЖЬ. См. файл примера лист Флажок .

Обзорную статью об элементах управления формы можно прочитать здесь .

Вставка Флажка

Через меню Разработчик/ Элементы управления/ Вставить выберем левой клавишей мыши элемент Флажок.

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

превратится в тонкий крестик.

Выберите место на листе куда нужно вставить Флажок и нажмите левую клавишу мыши. На месте курсора будет установлен левый верхний угол прямоугольника, в котором содержится Флажок и его надпись. Граница прямоугольника будет выделена.

Выделение Флажка

После вставки Флажка он становится выделенным (см. рисунок выше). Если кликнуть в любом другом месте листа, то Флажок перестанет быть выделенным. Чтобы снова его выделить нужно кликнуть его ПРАВОЙ клавишей мыши (клик ЛЕВОЙ клавиши устанавливает или снимает Флажок ). После клика правой кнопкой также появляется контекстное меню, чтобы его убрать можно нажать ESC или кликнуть левой клавишей по Флажку .

Перемещение Флажка и изменение его размеров

Если навести курсор на выделенный прямоугольник Флажка (курсор примет форму 4-х направленных в разные стороны стрелок, см. рисунок выше), затем нажать и удерживать левую кнопку мыши, то можно переместить Флажок. Удерживая клавишу ALT можно выровнять Флажок по границам ячеек. Выделенный Флажок также можно перемещать стрелками с клавиатуры.

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

Связываем Флажок с ячейкой

Как было сказано выше, все Элементы управления формы возвращают значение. Это значение помещается в ячейку определенную пользователем. Чтобы связать Элемент управления с ячейкой, кликните на него ПРАВОЙ клавишей мыши, в появившемся контекстном меню выберите Формат объекта.

Появится диалоговое окно, выберите вкладку Элемент управления (если такая вкладка отсутствует, то Вы вставили Элемент ActiveX, а не Элемент управления формы, об этом см. выше).

В поле Связь с ячейкой нужно ввести ссылку на ячейку. Свяжем наш Флажок с ячейкой А1 .

Нажмите ОК. Убедитесь, что Флажок не выделен. Пощелкайте левой клавишей мыши по Флажку . В ячейке А1 значение будет меняться с ИСТИНА на ЛОЖЬ и наоборот.

Существует другой способ связать Элемент управления и ячейку: Выделите правой клавишей мыши Элемент управления, в Строке формул введите =, затем кликните левой клавишей мыши на нужную ячейку и нажмите клавишу ENTER .

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

Одну ячейку можно связать с несколькими элементами управления, но имеет ли это смысл? Решать Вам.

Изменяем внешний вид Флажка

Чтобы изменить внешний вид Флажка, кликните на него ПРАВОЙ клавишей мыши, в появившемся контекстном меню выберите Формат объекта. Появится диалоговое окно, выберите вкладку Цвета и линии.

После несложной настройки можно сотворить вот такое чудо с Вашим Флажком .

Шрифт изменить не удастся (((.

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

У каждого Элемента управления есть имя. Чтобы его узнать нужно выделить Флажок, в Поле имя будет отображено его имя.

Отметим, что Имя Флажка и надпись на нем — совершенно 2 разные вещи, хотя они могут и совпадать.

Чтобы изменить имя Флажка — в Поле имя введите новое имя и нажмите клавишу ENTER . Также имя можно изменить в Области выделения ( Главная / Редактирование/ Найти и выделить/ Область выделения ).

Зачем нам знать его имя? Если Вы не планируете управлять Флажком из программы VBA, то имя может потребоваться только для настройки его отображения на листе. Об этом читайте ниже.

Прячем Флажок на листе

Включите Область выделения ( Главная / Редактирование/ Найти и выделить )

В Области выделения можно управлять отображением не только Элементов управления, но и других объектов на листе, например рисунков.

Нажмите на изображение глаза напротив имени объекта и объект исчезнет/ появится.

Использование Флажка

Так Флажок может придавать значение ячейки только ИСТИНА или ЛОЖЬ, то нам потребуются формулы, чтобы разнообразить применение Флажка .

Например, можно отображать разные надписи в зависимости от того установлен ли Флажок или нет.

=ЕСЛИ(A1;»Флажок установлен»;»Флажок снят»)

Также можно производить различные вычисления. Например, выводить сумму одного из 2-х диапазонов Е4:Е6 или F4:F6

Часто Флажок применяют для включения/ выключения заливки ячейки. Для этого нам придется использовать Условное форматирование .

Для ячеек В1:С1 создадим простое правило форматирования.

Теперь, когда Флажок установлен, эти ячейки будут выделены красным.

Если Флажок снят, то и заливка не отображается.

Источник

Установка галочки в Microsoft Excel

В программе Microsoft Office пользователю иногда нужно вставить галочку или, как по-другому называют этот элемент, флажок (˅). Это может быть выполнено для различных целей: просто для пометки какого-то объекта, для включения различных сценариев и т.д. Давайте выясним, как установить галочку в Экселе.

Установка флажка

Существует несколько способов поставить галочку в Excel. Для того чтобы определиться с конкретным вариантом нужно сразу установить, для чего вам нужна установка флажка: просто для пометки или для организации определенных процессов и сценариев?

Способ 1: вставка через меню «Символ»

Если вам нужно установить галочку только в визуальных целях, чтобы пометить какой-то объект, то можно просто воспользоваться кнопкой «Символ» расположенной на ленте.

  1. Устанавливаем курсор в ячейку, в которой должна располагаться галочка. Переходим во вкладку «Вставка». Жмем по кнопке «Символ», которая располагается в блоке инструментов «Символы».
  2. Открывается окно с огромным перечнем различных элементов. Никуда не переходим, а остаемся во вкладке «Символы». В поле «Шрифт» может быть указан любой из стандартных шрифтов: Arial, Verdana, Times New Roman и т.п. Для быстрого поиска нужного символа в поле «Набор» устанавливаем параметр «Буквы изменения пробелов». Ищем символ «˅». Выделяем его и жмем на кнопку «Вставить».

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

Таким же образом можно вставить более привычную нам галочку с непропорциональными сторонами или галочку в чексбоксе (небольшой квадратик, специально предназначенный для установки флажка). Но для этого, нужно в поле «Шрифт» указать вместо стандартного варианта специальный символьный шрифт Wingdings. Затем следует опуститься в самый низ перечня знаков и выбрать нужный символ. После этого жмем на кнопку «Вставить».

Выбранный знак вставлен в ячейку.

Способ 2: подмена символов

Есть также пользователи, которые не задаются точным соответствием символов. Поэтому вместо того, чтобы установить стандартную галочку, просто печатают с клавиатуры символ «v» в англоязычной раскладке. Иногда это оправдано, так как этот процесс занимает очень мало времени. А внешне эта подмена практически незаметна.

Способ 3: установка галочки в чекбоксе

Но для того, чтобы статус установки или снятия галочки запускал какие-то сценарии, нужно выполнить более сложную работу. Прежде всего, следует установить чекбокс. Это такой небольшой квадратик, куда ставится флажок. Чтобы вставить этот элемент, нужно включить меню разработчика, которое по умолчанию в Экселе выключено.

  1. Находясь во вкладке «Файл», кликаем по пункту «Параметры», который размещен в левой части текущего окна.
  2. Запускается окно параметров. Переходим в раздел «Настройка ленты». В правой части окна устанавливаем галочку (именно такую нам нужно будет установить на листе) напротив параметра «Разработчик». В нижней части окна кликаем по кнопке «OK». После этого на ленте появится вкладка «Разработчик».
  3. Переходим в только что активированную вкладку «Разработчик». В блоке инструментов «Элементы управления» на ленте жмем на кнопку «Вставить». В открывшемся списке в группе «Элементы управления формы» выбираем «Флажок».
  4. После этого курсор превращается в крестик. Кликаем им по той области на листе, где нужно вставить форму.

Появляется пустой чекбокс.

  • Для установки в нем флажка нужно просто кликнуть по данному элементу и флажок будет установлен.
  • Для того, чтобы убрать стандартную надпись, которая в большинстве случаев не нужна, кликаем левой кнопкой мыши по элементу, выделяем надпись и жмем на кнопку Delete. Вместо удаленной надписи можно вставить другую, а можно ничего не вставлять, оставив чекбокс без наименования. Это на усмотрение пользователя.
  • Если есть потребность для создания нескольких чекбоксов, то можно не создавать для каждой строки отдельный, а скопировать уже готовый, что значительно сэкономит время. Для этого сразу выделяем форму кликом мыши, затем зажимаем левую кнопку и перетягиваем форму в нужную ячейку. Не бросая кнопку мыши, зажимаем клавишу Ctrl, а затем отпускаем кнопку мышки. Аналогичную операцию проделываем и с другими ячейками, в которые нужно вставить галочку.
  • Способ 4: создание чекбокса для выполнения сценария

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

    1. Создаем чекбокс по алгоритму, описанному в предыдущем способе, с использованием вкладки разработчика.
    2. Кликаем по элементу правой кнопкой мыши. В контекстном меню выбираем пункт «Формат объекта…».
    3. Открывается окно форматирования. Переходим во вкладку «Элемент управления», если оно было открыто в другом месте. В блоке параметров «Значения» должно быть указано текущее состояние. То есть, если галочка на данный момент установлена, то переключатель должен стоять в позиции «Установлен», если нет – в позиции «Снят». Позицию «Смешанное» выставлять не рекомендуется. После этого жмем на пиктограмму около поля «Связь с ячейкой».
    4. Окно форматирования сворачивается, а нам нужно выделить ячейку на листе, с которой будет связан чекбокс с галочкой. После того, как выбор произведен, повторно жмем на ту же кнопку в виде пиктограммы, о которой шла речь выше, чтобы вернутся в окно форматирования.
    5. В окне форматирования жмем на кнопку «OK» для того, чтобы сохранить изменения.

    Как видим, после выполнения данных действий в связанной ячейке при установленной галочке в чекбоксе отображается значение «ИСТИНА». Если галочку убрать, то будет отображаться значение «ЛОЖЬ». Чтобы выполнить нашу задачу, а именно произвести смену цветов заливки, нужно будет связать эти значения в ячейке с конкретным действием.

  • Выделяем связанную ячейку и кликаем по ней правой кнопкой мыши, в открывшемся меню выбираем пункт «Формат ячеек…».
  • Открывается окно форматирования ячейки. Во вкладке «Число» выделяем пункт «Все форматы» в блоке параметров «Числовые форматы». Поле «Тип», которое расположено в центральной части окна, прописываем следующее выражение без кавычек: «;;;». Жмем на кнопку «OK» в нижней части окна. После этих действий видимая надпись «ИСТИНА» из ячейки исчезла, но значение осталось.
  • Снова выделяем связанную ячейку и переходим во вкладку «Главная». Жмем на кнопку «Условное форматирование», которая размещена в блоке инструментов «Стили». В появившемся списке кликаем по пункту «Создать правило…».
  • Открывается окно создания правила форматирования. В его верхней части нужно выбрать тип правила. Выбираем самый последний в списке пункт: «Использовать формулу для определения форматируемых ячеек». В поле «Форматировать значения, для которых следующая формула является истиной» указываем адрес связанной ячейки (это можно сделать как вручную, так и просто выделив её), а после того, как координаты появились в строке, дописываем в неё выражение «=ИСТИНА». Чтобы установить цвет выделения, жмем на кнопку «Формат…».
  • Открывается окно форматирования ячеек. Выбираем цвет, которым хотели бы залить ячейку при включении галочки. Жмем на кнопку «OK».
  • Вернувшись в окно создания правила, жмем на кнопку «OK».
  • Теперь при включенной галочке связанная ячейка будет окрашиваться в выбранный цвет.

    Если галочка будет убрана, то ячейка снова станет белой.

    Способ 5: установка галочки с помощью инструментов ActiveX

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

    1. Переходим во вкладку «Разработчик». Кликаем по кнопке «Вставить», которая размещена в группе инструментов «Элементы управления». В открывшемся окне в блоке «Элементы ActiveX» выбираем пункт «Флажок».
    2. Как и в предыдущий раз, курсор принимает особую форму. Кликаем им по тому месту листа, где должна размещаться форма.
    3. Для установки галочки в чекбоксе нужно войти в свойства данного объекта. Кликаем по нему правой кнопкой мыши и в открывшемся меню выбираем пункт «Свойства».
    4. В открывшемся окне свойств ищем параметр «Value». Он размещается в нижней части. Напротив него меняем значение с «False» на «True». Делаем это, просто вбивая символы с клавиатуры. После того, как задача выполнена, закрываем окно свойств, нажав на стандартную кнопку закрытия в виде белого крестика в красном квадрате в верхнем правом углу окна.

    После выполнения этих действий галочка в чекбоксе будет установлена.

    Выполнение сценариев с использованием элементов ActiveX возможно при помощи средств VBA, то есть, путем написания макросов. Конечно, это намного сложнее, чем использование инструментов условного форматирования. Изучение этого вопроса – отдельная большая тема. Писать макросы под конкретные задачи могут только пользователи со знанием программирования и обладающие навыками работы в Эксель гораздо выше среднего уровня.

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

    Как видим, существует несколько способов установить галочку в Экселе. Какой из способов выбрать, в первую очередь зависит от целей установки. Если вы хотите просто пометить какой-то объект, то нет смысла выполнять задачу через меню разработчика, так как это займет много времени. Намного проще использовать вставку символа или вообще просто набрать на клавиатуре английскую букву «v» вместо галочки. Если же вы хотите с помощью галочки организовать выполнение конкретных сценариев на листе, то в этом случае данная цель может быть достигнута только с помощью инструментов разработчика.

    Источник

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

    Флажки (пользователи часто называют их “галками” или “птичками”) и кнопки с фиксацией используются для выбора невзаимоисключающих вариантов (если этих вариантов немного).

     

    рис . 1.1 Элемент управления Checkbox на панели ToolBox

    рис. 1.2 Элемент управления Checkbox на форме

    рис. 1.3 Пример элемента управления Checkbox на форме

    Флажки удобны при составлении опросов, например, из десяти цветов нужно отметить те, которые больше всего нравятся. Собственно, в этой статье мы и попытаемся сделать своеобразный опрос, но пока, давайте рассмотрим основные свойства класса CheckBox:

    Name – имя объекта

    Caption – определяет надпись, которая будет находится возле галочки справа.

    TripleState – свойство позволяет определить третье состояние флажка. Как упоминалось выше, компонент vba CheckBox может принимать два значения: галочка установлена (true), галочка снята (false), но можно задать и третье состояние (Null) – в этом случае объект будет серого цвета и будет недоступен. Если это свойство содержит значение false – будут поддерживаться только два состояния, если true – все три.

    Value – данное свойство позволяет получить состояние выбора (true, false или Null).

    Событие Change класса CheckBox происходит при изменении состояния флажка.

    И так, цель задания: добавить в проект форму, на ней разместить 12 флажков, разделенных на 4 группы по 3 штуки, Например,

    • Телефон: Nokia, Samsung,      Siemens
    • Девушка: рыжая, светлая,      темная (для примера)
    • Ноутбук: Asus, Acer, Lenovo
    • Транспорт: велосипед,      автомобиль, самокат

    Ниже приведен пример формы:

    Справа добавлен компонент ListBox – как только мы будем ставить галочку для vba CheckBox, элемент сразу будет добавляться в список, плюс, элемент управлении Флажок сразу будет становится недоступным после выбора (свойство Enabled примет значение False). Еще на форме (UserForm) нам понадобится кнопка, которая будет очищать список, и будет делать доступными все флажки.

    В коде для формы нужно добавить следующие процедуры:

    Private Sub CheckBox1_Change()

    If CheckBox1.Value = True Then

    ListBox1.AddItem CheckBox1.Caption

    CheckBox1.Enabled = False

    End If

    End Sub

    Private Sub CheckBox2_Change()

    If CheckBox2.Value = True Then

    ListBox1.AddItem CheckBox2.Caption

    CheckBox2.Enabled = False

    End If

    End Sub

    Private Sub CheckBox3_Change()

    If CheckBox3.Value = True Then

    ListBox1.AddItem CheckBox3.Caption

    CheckBox3.Enabled = False

    End If

    End Sub

    Private Sub CheckBox4_Change()

    If CheckBox4.Value = True Then

    ListBox1.AddItem CheckBox4.Caption

    CheckBox4.Enabled = False

    End If

    End Sub

    Private Sub CheckBox5_Change()

    If CheckBox5.Value = True Then

    ListBox1.AddItem CheckBox5.Caption

    CheckBox5.Enabled = False

    End If

    End Sub

    Private Sub CheckBox6_Change()

    If CheckBox6.Value = True Then

    ListBox1.AddItem CheckBox6.Caption

    CheckBox6.Enabled = False

    End If

    End Sub

    Private Sub CheckBox7_Change()

    If CheckBox7.Value = True Then

    ListBox1.AddItem CheckBox7.Caption

    CheckBox7.Enabled = False

    End If

    End Sub

    Private Sub CheckBox8_Change()

    If CheckBox8.Value = True Then

    ListBox1.AddItem CheckBox8.Caption

    CheckBox8.Enabled = False

    End If

    End Sub

    Private Sub CheckBox9_Change()

    If CheckBox9.Value = True Then

    ListBox1.AddItem CheckBox9.Caption

    CheckBox9.Enabled = False

    End If

    End Sub

    Private Sub CheckBox10_Change()

    If CheckBox10.Value = True Then

    ListBox1.AddItem CheckBox10.Caption

    CheckBox10.Enabled = False

    End If

    End Sub

    Private Sub CheckBox11_Change()

    If CheckBox11.Value = True Then

    ListBox1.AddItem CheckBox11.Caption

    CheckBox11.Enabled = False

    End If

    End Sub

    Private Sub CheckBox12_Change()

    CheckBox12.Value = True Then

    ListBox1.AddItem CheckBox12.Caption

    CheckBox12.Enabled = False

    End If

    End Sub

    Private Sub CommandButton1_Click()

    CheckBox1.Enabled = True     CheckBox2.Enabled = True     CheckBox3.Enabled = True     CheckBox4.Enabled = True     CheckBox5.Enabled = True     CheckBox6.Enabled = True     CheckBox7.Enabled = True     CheckBox8.Enabled = True     CheckBox9.Enabled = True     CheckBox10.Enabled = True     CheckBox11.Enabled = True     CheckBox12.Enabled = True     ListBox1.Clear

    End Sub

    Процедуры от CheckBox1_Change до CheckBox12_Change носят практически один и тот же характер – идет обработка события Change. Если состояние флажка ровно true (вы поставили птичку), то в список ListBox1 с помощью метода AddItem добавляется значение, хранимое в свойстве Caption (надпись рядом с птичкой). Далее происходит присваивание значения False свойству Enabled – делаем объект CheckBox недоступным.

    Процедура CommandButton1_Click отвечает за обработку клика по кнопке. Видим, что для каждого флажка свойство Enabled принимает значение True, то есть, он становится доступным. Метод Cleare – полностью очищает список ListBox1.

    В этой статье мы рассмотрим такой элемент управления в окне ToolBox, как Флажок, за работу с ним отвечает класс VBA CheckBox. Флажки довольно часто используются на формах, их часто называют “птичками” или “галочками”. Сами по себе объекты vba класса CheckBox являются независимыми друг от друга, и позволяют определить одно из двух состояний: галочка установлена, или галочка снята.

    Флажки удобны при составлении опросов, например, из десяти цветов нужно отметить те, которые больше всего нравятся. Собственно, в этой статье мы и попытаемся сделать своеобразный опрос, но пока, давайте рассмотрим основные свойства класса CheckBox:

    Name – ну, как всегда, имя объекта

    Caption – определяет надпись, которая будет находится возле галочки справа.

    TripleState – свойство позволяет определить третье состояние флажка. Как упоминалось выше, компонент vba CheckBox может принимать два значения: галочка установлена (true), галочка снята (false), но можно задать и третье состояние (Null) – в этом случае объект будет серого цвета и будет недоступен. Если это свойство содержит значение false – будут поддерживаться только два состояния, если true – все три.

    Value – данное свойство позволяет получить состояние выбора (true, false или Null).

    Событие Change класса CheckBox происходит при изменении состояния флажка.

    Скажу честно, цель статьи – показать простой пример использования Флажков, поэтому я особо не вникал во все премудрости данного компонента.

    И так, цель задания: добавить в проект форму, на ней разместить 12 флажков, разделенных на 4 группы по 3 штуки, Например,

    • Телефон: Nokia, Samsung, Siemens
    • Девушка: рыжая, светлая, темная (Ха-ха!!!!)
    • Ноутбук: Asus, Acer, Lenovo
    • Транспорт: велосипед, автомобиль, самокат

    Ну, думаю, вы суть поняли: размещаете надпись, а под ней в столбик флажки. Справа я добавил компонент ListBox – как только мы будем ставить галочку для vba CheckBox, элемент сразу будет добавляться в список, плюс, элемент управлении Флажок сразу будет становится недоступным после выбора (свойство Enabled примет значение False). Еще на форме (UserForm) нам понадобится кнопка, которая будет очищать список, и будет делать доступными все флажки.

    Знаю, знаю, пример не столько практичен, сколько теоретичен….

    excel vba checkbox

    В коде для формы нужно добавить следующие процедуры:

    Private Sub CheckBox1_Change()
        If CheckBox1.Value = True Then
            ListBox1.AddItem CheckBox1.Caption
            CheckBox1.Enabled = False
        End If
    End Sub
     
    Private Sub CheckBox2_Change()
        If CheckBox2.Value = True Then
            ListBox1.AddItem CheckBox2.Caption
            CheckBox2.Enabled = False
        End If
    End Sub
     
    Private Sub CheckBox3_Change()
        If CheckBox3.Value = True Then
            ListBox1.AddItem CheckBox3.Caption
            CheckBox3.Enabled = False
        End If
    End Sub
     
    Private Sub CheckBox4_Change()
        If CheckBox4.Value = True Then
            ListBox1.AddItem CheckBox4.Caption
            CheckBox4.Enabled = False
        End If
    End Sub
     
    Private Sub CheckBox5_Change()
        If CheckBox5.Value = True Then
            ListBox1.AddItem CheckBox5.Caption
            CheckBox5.Enabled = False
        End If
    End Sub
     
    Private Sub CheckBox6_Change()
        If CheckBox6.Value = True Then
            ListBox1.AddItem CheckBox6.Caption
            CheckBox6.Enabled = False
        End If
    End Sub
    Private Sub CheckBox7_Change()
        If CheckBox7.Value = True Then
            ListBox1.AddItem CheckBox7.Caption
            CheckBox7.Enabled = False
        End If
    End Sub
     
    Private Sub CheckBox8_Change()
        If CheckBox8.Value = True Then
            ListBox1.AddItem CheckBox8.Caption
            CheckBox8.Enabled = False
        End If
    End Sub
     
    Private Sub CheckBox9_Change()
        If CheckBox9.Value = True Then
            ListBox1.AddItem CheckBox9.Caption
            CheckBox9.Enabled = False
        End If
    End Sub
     
    Private Sub CheckBox10_Change()
        If CheckBox10.Value = True Then
            ListBox1.AddItem CheckBox10.Caption
            CheckBox10.Enabled = False
        End If
    End Sub
     
    Private Sub CheckBox11_Change()
        If CheckBox11.Value = True Then
            ListBox1.AddItem CheckBox11.Caption
            CheckBox11.Enabled = False
        End If
    End Sub
     
    Private Sub CheckBox12_Change()
        If CheckBox12.Value = True Then
            ListBox1.AddItem CheckBox12.Caption
            CheckBox12.Enabled = False
        End If
    End Sub
     
    Private Sub CommandButton1_Click()
        CheckBox1.Enabled = True
        CheckBox2.Enabled = True
        CheckBox3.Enabled = True
        CheckBox4.Enabled = True
        CheckBox5.Enabled = True
        CheckBox6.Enabled = True
        CheckBox7.Enabled = True
        CheckBox8.Enabled = True
        CheckBox9.Enabled = True
        CheckBox10.Enabled = True
        CheckBox11.Enabled = True
        CheckBox12.Enabled = True
        ListBox1.Clear
    End Sub

    Процедуры от CheckBox1_Change до CheckBox12_Change носят практически один и тот же характер – идет обработка события Change. Если состояние флажка ровно true (вы поставили птичку), то в список ListBox1 с помощью метода AddItem добавляется значение, хранимое в свойстве Caption (надпись рядом с птичкой). Далее происходит присваивание значения False свойству Enabled – делаем объект CheckBox недоступным.

    Процедура CommandButton1_Click отвечает за обработку клика по кнопке. Видим, что для каждого флажка свойство Enabled принимает значение True, то есть, он становится доступным. Метод Cleare – полностью очищает список ListBox1.

    И так, в этой статье мы кратко рассмотрели работу с классом CheckBox (Флажок) vba языка, да, я рассмотрел довольно простой пример использования, но… не все сразу.

    Кстати, пример показанный в статье можно использовать и в Exel и в Word. Сам расчет идет на то, что бы описать базовую информацию по языку VBA, а уже потом переходить к чему-то более сложному. Так, как только я закончу с элементами управления, я перейду к описанию синтаксиса языка VBA, который практически идентичен языку VBScript, но код VBScript может выполняться самостоятельно в теле отдельного файла (сценариях), а VBA – работает в теле документа Microsoft.

    Понравилась статья? Поделить с друзьями:
  • Макросы выделить всю строку макрос excel
  • Макросы для excel условие
  • Макросы в excel создание файла excel
  • Макросы для excel теория
  • Макросы во всех открытых книгах в excel