Vba excel флажок элемент управления

Обновлено: 04.07.2024

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

vba checkbox

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

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

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

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

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

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

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

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

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

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

excel vba checkbox

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

Процедуры от 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.

Спасибо за внимание. Автор блога Владимир Баталий

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


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

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

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

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

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


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


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


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


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

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

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

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

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


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

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


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


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


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

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


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

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

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

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


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


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

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

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


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

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

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

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

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


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

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


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

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

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

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


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


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

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


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

Возможно, вы знаете, как изменить значение ячейки на основе флажка. Но знаете ли вы, как автоматически установить флажок на основе значения ячейки в Excel? Эта статья покажет вам, как этого добиться.

Установите флажок на основе значения ячейки с формулой

Предположим, вы хотите, чтобы флажок 1 устанавливался автоматически, когда значение в ячейке A1 равно «Test». Пожалуйста, сделайте следующее.

1. После установки флажка (Form Control) выберите его и свяжите с указанной ячейкой C2, введя = C2 в панель формул.

Для того, чтобы получить элемент управления ActiveX установите флажок, щелкните его правой кнопкой мыши и выберите Свойства из контекстного меню. И в Свойства диалоговом окне введите связанная ячейка в LinkedCell поле, а затем закройте диалоговое окно. Смотрите скриншот:


2. Выберите ячейку с линиями (C2), затем введите формулу. = ЕСЛИ (A2 = «Тест»; ИСТИНА; ЛОЖЬ) в панель формул, а затем нажмите Enter ключ.


Внимание: В формуле A2 и Test - это ячейка и значение ячейки, на основе которого вы должны установить флажок автоматически.

3. При вводе значения «Тест» в ячейку А1 соответствующий флажок будет установлен автоматически. Смотрите скриншот:


Примечание. В этой формуле не учитывается регистр.

Установите флажок на основе значения ячейки с кодом VBA

Вы можете запустить следующий код VBA, чтобы установить флажок на основе значения ячейки в Excel.

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

2. в Microsoft Visual Basic для приложений окна, скопируйте и вставьте приведенный ниже код VBA в окно кода.

Код VBA: установить флажок на основе значения ячейки

Внимание: В коде A2 и Test - это ячейка и значение ячейки, на основе которого вы должны установить флажок автоматически. Флажок 1 - это имя флажка.

3. Нажмите другой + Q клавиши, чтобы закрыть окно Microsoft Visual Basic для приложений.

При вводе значения «Тест» в ячейку A2 указанный флажок будет установлен автоматически.

Внимание: Этот код чувствителен к регистру.

Наконечник: Если вы хотите вставить несколько флажков в выбранный диапазон сразу, вы можете попробовать Флажки пакетной вставки полезности Kutools for Excel, или пакетная вставка нескольких кнопок выбора с Кнопки параметров пакетной вставки утилита. Кроме того, вы можете удалить сразу все флажки с помощью Флажки пакетного удаления утилита, как показано на скриншотах ниже. Ты можешь пойти в скачать Kutools for Excel! (30-дневная бесплатная пробная версия).


Вступление:

CheckBox в Excel используется как форма контроля для облегчения ввода данных. Подобный всем другим элементам управления формы, флажок просто не отображается в Excel. Он скрыт на панели инструментов вкладки «Разработчик».

Чтобы разблокировать вкладку разработчика, нам нужно:

  • Перейдите на вкладку «Файл», затем нажмите на опции.


  • Затем на вкладке «Настройка ленты» нужно отметить галочку разработчика CheckBox (выделено на рисунке ниже).


Вкладка «Разработчик» открывает множество элементов управления формой, включая наш CheckBox. Флажок обобщает данные для нас.


Кроме того, во вкладке «Разработчик» перейдите в раздел «Вставка», чтобы увидеть наш элемент управления CheckBox. Это квадратная коробка с помеченной галочкой. Обратитесь к скриншоту ниже:

Как вставить флажок в Excel?

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

Вы можете скачать этот шаблон Excel CheckBox здесь - Шаблон Excel CheckBox

CheckBox в Excel, пример № 1

Я и мои друзья планируем поехать отдохнуть, так как я организую экскурсию, мне нужно спланировать все детали и проверить, все ли отсортировано или нет.

Там будет несколько шагов. Во-первых, мне нужно составить список задач.

Ниже приведены мои списки задач,


Шаги, чтобы вставить флажки:

Теперь выполните следующие шаги, чтобы вставить флажки.

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


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


  • Есть текст, написанный в CheckBox как «Флажок 3», чтобы удалить его, щелкните правой кнопкой мыши по флажку и выберите «Редактировать текст» и ваш собственный текст. В этом примере я выберу текст «ГОТОВО».



  • Теперь, чтобы добавить другие CheckBox, просто перетащите CheckBox в другие ячейки.


  • Наш контрольный список для нашего маршрута готов. Теперь посмотрите ниже,


Наш контрольный список готов, но не заполнен, так как мы можем только устанавливать и снимать флажки, но Excel не сможет читать значения, поскольку мы связали флажки с нашими ячейками.

Давайте научимся делать флажки на нескольких примерах, а затем посмотрим, как их связать.

CheckBox в Excel, пример № 2

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

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


Теперь мы следуем инструкциям по вставке флажков в данные,

  • На вкладке разработчика в разделе вставки щелкните флажок под элементами управления формы.


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


  • Мы редактируем текст, написанный в CheckBox, как «Флажок 1» и добавляем наш собственный текст. Здесь я буду использовать текст «Завершено».


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



CheckBox в Excel, пример № 3

Завтра мой день рождения, и мои друзья просят вечеринку. Мне нужно убедиться, что все идет хорошо и ничего не останется.

Таблица данных, которую я сделал для вышеупомянутой задачи, как показано ниже,


Теперь мы начинаем добавлять флажки к нашим задачам,

  • На вкладке разработчика в разделе вставки щелкните флажок под элементами управления формы.


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


  • Нам снова нужно отредактировать текст, предварительно записанный в флажок, как «флажок 1». В текущем сценарии я снова буду использовать текст «СДЕЛАНО».


  • Когда первый CheckBox готов, мы перетащим его в другие ячейки.



Объяснение CheckBoxes:

Из приведенных выше примеров ясно, что флажки - это небольшие прямоугольники, которые являются интерактивными для пользователя, чтобы указывать выбор. Это может быть «Да» или «Нет»

При этом либо пользователь выполнил задание, либо нет, либо просто ответил на вопрос «да» или «нет».

Кроме того, когда флажок помечен как «галочка» / отмечен, это означает, что это положительный выбор, а если он не отмечен, это означает, что это отрицательный выбор.

Как использовать CheckBox в Excel?

Мы узнали, как сделать флажки и как они используются.

Теперь давайте узнаем, как использовать флажки в наших примерах.

CheckBox в Excel, пример № 4

Из примера 1, где мы составили приведенную ниже таблицу,


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

  • Щелкните правой кнопкой мыши по флажку и выберите «Управление форматами».


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


  • Повторите вышеуказанный шаг для всех флажков.
  • Чтобы легко идентифицировать связанные ячейки CheckBox, свяжите их с соседней ячейкой. В текущем сценарии я связал первый CheckBox с ячейкой C2.


  • Теперь нажмите на любую кнопку-флажок, и мы увидим, что если установлено значение, то в соответствующей ячейке появится «ИСТИНА», а если не отмечено, в ячейке появится значение «Ложь».


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

CheckBox в Excel, пример № 5

Из примера 2 таблица была следующей:


Теперь, чтобы назначить флажки для определенных ячеек, мы следуем шагам,

  • Щелкните правой кнопкой мыши по флажку и выберите «Управление форматами».


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


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


На изображении выше мы видим, что я снова забыл кормить кошку.

CheckBox в Excel, пример № 6

Из примера 3 таблица была,


Давайте назначим флажки для этой таблицы,

  • Щелкните правой кнопкой мыши по флажку и выберите «Управление форматами».


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


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


В приведенном выше примере я выполнил все задачи планирования партии.

Что нужно помнить о CheckBox в Excel

  • Элемент управления CheckBox можно активировать только путем разблокировки вкладки «Разработчик» в разделе «Настройка ленты».
  • Флажок должен быть выровнен по желаемой ячейке.
  • Флажок должен быть присвоен определенной ячейке для Excel, чтобы прочитать значения.
  • Если флажок установлен, он возвращает «ИСТИНА» в качестве значения, а если он не отмечен, он возвращает «ЛОЖЬ» в качестве значения.
  • Следует установить флажок на соседнюю ячейку, чтобы избежать путаницы.

Рекомендуемые статьи

Это было руководство к CheckBox в Excel. Здесь мы обсудим его использование и как создать CheckBox в Excel с примерами и загружаемыми шаблонами Excel. Вы также можете посмотреть на эти полезные функции в Excel -

Читайте также: