Перейти к содержимому

Флажки в Excel: добавление, выбор, удаление и использование флажков в Excel

Author: Xiaoyang Last Modified: 2025-06-05

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

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

Содержание:

1. Два типа флажков (Флажок формы и Флажок ActiveX)

2. Добавление одного или нескольких флажков в Excel

3. Изменение имени флажка и текста подписи

4. Связывание одного или нескольких флажков с ячейками

5. Выбор одного или нескольких флажков

6. Удаление одного или нескольких флажков

7. Группировка флажков в Excel

8. Примеры: как использовать флажки в Excel


Два типа флажков (Флажок формы и Флажок ActiveX)

Чтобы вставить флажок, убедитесь, что вкладка Разработчик отображается на ленте. По умолчанию она скрыта, поэтому сначала её нужно включить.

1. В книге Excel нажмите Файл > Опции. В диалоговом окне Параметры Excel выберите Настроить ленту, затем отметьте опцию Разработчик и нажмите кнопку OK для закрытия окна.

A screenshot of the Excel Options dialog box with Developer tab selected, showing the Customize Ribbon section

2. Теперь вкладка Разработчик появится на ленте Excel, как показано на скриншоте ниже. Здесь вы можете получить доступ к различным интерактивным элементам управления по мере необходимости.

A screenshot of the Developer tab in Excel with various interactive controls visible

Microsoft Excel предоставляет два типа флажков — Флажок формы и Флажок ActiveX:

A screenshot of the Check Box Form control option and Check Box ActiveX control option in the Developer tab on the Ribbon Arrow A screenshot of the inserted Check Box ActiveX control and Check Box ActiveX control in Excel

Флажок формы намного проще, чем Флажок ActiveX, а флажок ActiveX более гибок в настройке и может использоваться как объект в коде. Для повседневных задач обычно достаточно элементов управления формы, поэтому чаще всего мы будем использовать именно их.

Флажок формы против Флажка ActiveX:

  • Элементы управления ActiveX предоставляют больше возможностей для форматирования, их можно использовать для более сложного и гибкого дизайна;
  • Элементы управления формы встроены в Excel, а ActiveX загружаются отдельно, поэтому иногда могут зависать;
  • На некоторых компьютерах элементы ActiveX по умолчанию не доверяются, поэтому их нужно включать вручную через Центр управления безопасностью;
  • Флажок ActiveX можно программно управлять через редактор VBA;
  • ActiveX доступен только в Windows, Mac OS его не поддерживает.

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


Добавление одного или нескольких флажков в Excel

В этом разделе вы найдете способы вставки одного или нескольких флажков.

2.1 Вставка одного флажка

Чтобы вставить флажок, выполните следующие действия:

1. Перейдите на вкладку Разработчик, затем нажмите Вставить в группе Элементы управления и выберите Флажок в разделе Элементы управления формы. Далее кликните по ячейке, куда хотите вставить флажок — он появится рядом с этой ячейкой, смотрите скриншоты:

A screenshot showing how to insert a checkbox in Excel by selecting the Check Box option under Form Controls

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

A screenshot demonstrating how to drag and move a checkbox to a different cell in Excel


2.2 Вставка нескольких флажков

Если вам нужно вставить несколько флажков на лист, ниже приведены быстрые способы сделать это.

Вставка нескольких флажков с помощью маркера заполнения

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

1. Кликните по ячейке, в которой находится флажок.

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

A screenshot showing how to use the Fill Handle to copy checkboxes to other cells in Excel


Вставка нескольких флажков с помощью VBA-кода

Следующий VBA-код также поможет быстро и легко вставить список флажков. Выполните следующие действия:

1. Удерживайте клавиши ALT + F11, чтобы открыть окно Microsoft Visual Basic for Applications.

2. Затем выберите Вставка > Модуль и вставьте следующий код в окно модуля.

VBA-код: Вставка нескольких флажков в список ячеек

Sub InsertCheckBoxes()
'Update by Extendoffice
Dim Rng As Range
Dim WorkRng As Range
Dim Ws As Worksheet
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Set Ws = Application.ActiveSheet
Application.ScreenUpdating = False
For Each Rng In WorkRng
    With Ws.CheckBoxes.Add(Rng.Left, Rng.Top, Rng.Width, Rng.Height)
        .Characters.Text = Rng.Value
    End With
Next
WorkRng.ClearContents
WorkRng.Select
Application.ScreenUpdating = True
End Sub

3. Нажмите клавишу F5 для запуска кода. Появится окно с просьбой выбрать диапазон ячеек для вставки флажков. Смотрите скриншот:

A screenshot of a prompt box in Excel asking the user to select a range of cells to insert checkboxes

4. Затем нажмите кнопку OK — флажки будут аккуратно вставлены в выбранные ячейки. Смотрите скриншот:

A screenshot of the inserted checkboxes neatly placed into selected cells in Excel


Вставка нескольких флажков с помощью удобной функции

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

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

1. Выделите диапазон ячеек, куда хотите вставить флажки.

2. Затем нажмите Kutools > Вставить > Пакетная вставка флажков, смотрите скриншот:

A screenshot of the Kutools for Excel menu showing the Batch Insert Check Boxes option

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

Вставка флажков в пустые ячейки Вставка флажков в ячейки с данными
 A screenshot showing checkboxes inserted into blank cells using Kutools  A screenshot showing checkboxes inserted into data cells using Kutools

Kutools для Excel - Усильте Excel более чем 300 необходимыми инструментами. Наслаждайтесь постоянно бесплатными функциями ИИ! Получите прямо сейчас


Изменение имени флажка и текста подписи

При работе с флажками в Excel важно различать имя флажка и текст подписи. Текст подписи — это то, что отображается рядом с флажком, а имя флажка — это то, что видно в поле Имя при выделении флажка, как показано на скриншотах ниже:

Имя флажка Имя подписи
 A screenshot showing the checkbox name displayed in the Name box in Excel  A screenshot showing the caption text beside a checkbox in Excel

Чтобы изменить текст подписи, щёлкните правой кнопкой мыши по флажку и выберите Изменить текст в контекстном меню, затем введите новое имя, смотрите скриншоты:

A screenshot demonstrating how to edit the caption text of a checkbox by right-clicking and selecting Edit Text

Чтобы изменить имя флажка, выделите флажок и введите нужное имя в поле Имя, как показано на скриншоте:

A screenshot showing how to change the checkbox name in the Name box in Excel


Связывание одного или нескольких флажков с ячейками

При работе с флажками часто требуется связать их с ячейками. Если флажок установлен, в ячейке отображается TRUE, если снят — FALSE или пусто. В этом разделе показано, как связать один или несколько флажков с ячейками в Excel.

4.1 Связать один флажок с ячейкой с помощью функции Формат управления

Чтобы связать флажок с определённой ячейкой, выполните следующие действия:

1. Щёлкните правой кнопкой мыши по флажку и выберите Формат управления в контекстном меню, смотрите скриншот:

A screenshot showing the Format Control option in the context menu after right-clicking a checkbox in Excel

2. В диалоговом окне Формат объекта на вкладке Управление выберите ячейку для связи с флажком в поле Ссылка на ячейку или введите адрес вручную, смотрите скриншот:

A screenshot of the Format Control dialog box in Excel with the Cell link box selected to link a checkbox to a specific cell

3. Нажмите OK для закрытия окна — теперь флажок связан с выбранной ячейкой. Если вы его отметите, появится TRUE, если снимете — появится FALSE, как показано на демонстрации ниже:

A gif showing how checking and unchecking a checkbox in Excel changes the linked cell to TRUE or FALSE


4.2 Связать несколько флажков с ячейками с помощью VBA-кода

Чтобы связать несколько флажков с ячейками через функцию Формат управления, нужно повторять шаги для каждого флажка, что неудобно при большом количестве. Здесь приведён VBA-код для одновременного связывания всех флажков с ячейками.

1. Перейдите на лист, содержащий флажки.

2. Удерживайте клавиши ALT + F11, чтобы открыть окно Microsoft Visual Basic for Applications.

3. Затем выберите Вставка > Модуль и вставьте следующий код в окно модуля.

VBA-код: Связать несколько флажков с ячейками одновременно

Sub LinkChecks()
'Update by Extendoffice
Dim xCB
Dim xCChar
i = 2
xCChar = "C"
For Each xCB In ActiveSheet.CheckBoxes
If xCB.Value = 1 Then
    Cells(i, xCChar).Value = True
Else
    Cells(i, xCChar).Value = False
End If
xCB.LinkedCell = Cells(i, xCChar).Address
i = i + 1
Next xCB
End Sub

Примечание: В этом коде i =2 — это номер начальной строки для ваших флажков, а xCChar = "C"буква столбца, в котором будут связаны флажки. Вы можете изменить их по своему усмотрению.

4. Нажмите клавишу F5 для запуска кода. Все флажки на активном листе будут связаны с указанными ячейками одновременно. При установке флажка в связанной ячейке появится TRUE, при снятии — FALSE, смотрите скриншот:

A screenshot showing multiple checkboxes in Excel linked to cells displaying TRUE when checked and FALSE when unchecked


Выбор одного или нескольких флажков

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

Выделить один флажок: (два способа)

  • Щёлкните правой кнопкой мыши по флажку, затем кликните в любом месте внутри него.
  • ИЛИ
  • Удерживайте клавишу Ctrl и кликните по флажку.

Выделить несколько флажков:

Удерживайте клавишу Ctrl и поочерёдно кликайте по нужным флажкам.


Удаление одного или нескольких флажков

Удалить один флажок просто: выделите его и нажмите клавишу Delete на клавиатуре. А как удалить сразу несколько флажков в Excel?

6.1 Удалить несколько флажков с помощью VBA-кода

Чтобы удалить все флажки на листе, используйте следующий VBA-код.

1. Удерживайте клавиши ALT + F11, чтобы открыть окно Microsoft Visual Basic for Applications.

2. Затем выберите Вставка > Модуль и вставьте следующий код в окно модуля.

VBA-код: Удалить все флажки на текущем листе

Sub RemoveCheckboxes()
'Update by Extendoffice
On Error Resume Next
ActiveSheet.CheckBoxes.Delete
Selection.FormatConditions.Delete
End Sub

3. Затем нажмите клавишу F5 для выполнения кода. Все флажки на выбранном листе будут удалены одновременно.


6.2 Удалить несколько флажков с помощью простой функции

С помощью функции Пакетное удаление флажков в Kutools для Excel вы можете удалить флажки из выбранного диапазона или со всего листа всего за пару кликов.

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

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

2. Затем нажмите Kutools > Удалить > Пакетное удаление флажков, смотрите скриншот:

A screenshot showing the Kutools for Excel menu with the Batch Delete Check Boxes option highlighted

3. После этого все флажки будут удалены из выбранного диапазона одновременно.


Группировка флажков в Excel

Если нужно перемещать или изменять размер нескольких флажков одновременно, их можно сгруппировать для одновременного управления. В этом разделе показано, как сгруппировать несколько флажков на листе Excel.

7.1 Группировка флажков с помощью функции Группировка

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

1. Удерживайте клавишу Ctrl и поочерёдно выделяйте флажки, которые хотите сгруппировать, смотрите скриншот:

A screenshot showing multiple checkboxes being selected in Excel using the Ctrl key

2. Затем щёлкните правой кнопкой мыши и выберите Группировка > Группировка в контекстном меню, смотрите скриншот:

A screenshot showing the Group option in the context menu after right-clicking selected checkboxes in Excel

3. После группировки выбранных флажков вы сможете перемещать или копировать их одновременно.

A screenshot showing grouped checkboxes in Excel being moved together


7.2 Группировка флажков с помощью команды Групповой блок

Кроме того, можно использовать Групповой блок для объединения нескольких флажков. Выполните следующие шаги:

1. Перейдите на вкладку Разработчик и выберите Вставить > Групповой блок (элемент управления формы), смотрите скриншот:

A screenshot showing the Group Box (Form Control) option in the Developer tab in Excel

2. Затем с помощью мыши нарисуйте групповой блок и измените его подпись по желанию:

A screenshot of a drawn group box in Excel Arrow A screenshot showing how to rename a group box caption in Excel

3. Теперь можно вставлять флажки в групповой блок: нажмите Разработчик > Вставить > Флажок (элемент управления формы), смотрите скриншот:

A screenshot showing how to insert a checkbox into a group box in Excel

4. Нарисуйте флажок мышью и измените подпись по необходимости, смотрите скриншоты

A screenshot showing a checkbox inside a group box with the caption being edited Arrow A screenshot showing a modified checkbox caption inside a group box in Excel

5. Аналогично добавьте другие флажки в групповой блок — результат показан на скриншоте ниже:

A screenshot showing the final grouped checkboxes inside a group box in Excel


Примеры: как использовать флажки в Excel

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

Пример1: Создание списка дел с флажками

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

A screenshot of a To-do list in Excel with checkboxes beside tasks

Чтобы создать список дел с флажками, выполните следующие шаги:

1. Вставьте флажки в нужные ячейки списка, смотрите скриншот: (Кликните, чтобы узнать, как вставить несколько флажков)

A screenshot showing checkboxes being inserted into a list of cells in Excel

2. После вставки флажков свяжите каждый флажок с отдельной ячейкой.

Совет: Для связывания флажков с ячейками можно использовать функцию Формат управления для каждого флажка или применить VBA-код для массового связывания.

3. После связывания флажков с ячейками, если флажок установлен — отображается TRUE, если снят — FALSE, смотрите скриншот:

A screenshot showing TRUE and FALSE displayed in cells linked to checkboxes in Excel

4. Далее примените функцию Условное форматирование: выделите диапазон ячеек A2:C8, где хотите создать список дел, затем нажмите Главная > Условное форматирование > Новое правило, чтобы открыть диалоговое окно Новое правило форматирования.

5. В диалоговом окне Новое правило форматирования выберите Использовать формулу для определения форматируемых ячеек в списке Тип правила и введите формулу =C2=TRUE в поле Форматировать значения, для которых эта формула истинна, смотрите скриншот:

Примечание: C2 — это ячейка, связанная с флажком.

A screenshot of the New Formatting Rule dialog box in Excel with the formula =C2=TRUE for conditional formatting

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

A screenshot showing the Format Cells dialog box in Excel with Strikethrough option selected for font

7. Нажмите OK > OK для закрытия окон. Теперь при установке флажка соответствующий пункт будет зачёркнут, как показано на демонстрации ниже:

A demonstration of a To-do list in Excel where a checked checkbox formats the corresponding task with a strikethrough


Пример2: Создание динамической диаграммы с флажками

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

A demonstration of a dynamic chart in Excel where checking a checkbox displays a data line and unchecking hides it

В этом разделе рассмотрим два быстрых способа создания такой диаграммы в Excel.

Создание интерактивной диаграммы с флажками в Excel

Обычно в Excel можно создать динамическую диаграмму с флажками следующим образом:

1. Вставьте несколько флажков и переименуйте их. В этом примере я вставлю три флажка и назову их Apple, Orange и Peach, как показано на скриншоте:

A screenshot showing three checkboxes labeled Apple, Orange, and Peach inserted in Excel

2. Затем свяжите эти флажки с ячейками: выберите первый флажок, щёлкните правой кнопкой мыши, выберите Формат управления, в диалоговом окне Формат объекта на вкладке Управление в поле Ссылка на ячейку выберите ячейку для связи, смотрите скриншот:

A screenshot of the Format Control dialog box in Excel linking a checkbox to a specific cell

3. Повторите предыдущий шаг для остальных двух флажков, связывая их с разными ячейками. Теперь при установке флажка будет отображаться TRUE, иначе — FALSE, как показано на демонстрации ниже:

A demonstration showing TRUE and FALSE values displayed when checkboxes are checked and unchecked in Excel

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

A screenshot showing the original data in Excel with row and column headings copied for dynamic chart creation

5. Затем примените следующие формулы:

  • В ячейке B13: =IF($B$6,B2,NA()), затем протяните маркер заполнения по строке от B13 до G13;
  • В ячейке B14: =IF($B$7,B3,NA()), затем протяните маркер заполнения по строке от B14 до G14;
  • В ячейке B15: =IF($B$8,B4,NA()), затем протяните маркер заполнения по строке от B15 до G15.
  • Эти формулы возвращают значения из исходных данных, если флажок для продукта установлен, и #N/A, если снят. Смотрите скриншот:

A screenshot showing formulas in Excel to display data based on checkbox status using the IF function

6. Затем выделите новый диапазон данных с A12 по G15 и нажмите Вставка > Вставить линейчатую или областную диаграмму > Линия, чтобы вставить линейчатую диаграмму.

7. Теперь при установке флажка продукта его линия данных появится, при снятии — исчезнет, как показано на демонстрации ниже:

A demonstration of a dynamic chart in Excel where checking or unchecking a checkbox toggles the appearance of data lines

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

A screenshot showing the plot area of a chart in Excel being resized to fit checkboxes

9. Удерживайте клавишу Ctrl, чтобы выделить три флажка, перетащите их на диаграмму, затем щёлкните правой кнопкой мыши и выберите На передний план > На передний план, смотрите скриншот:

A screenshot showing checkboxes selected and brought to the front over a chart in Excel

10. Теперь флажки отображаются на диаграмме. Удерживайте Ctrl и поочерёдно выделяйте флажки и диаграмму, затем щёлкните правой кнопкой мыши и выберите Группировка > Группировка, смотрите скриншот:

A screenshot showing the Group option in Excel to group checkboxes and chart together

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

A screenshot showing the checkboxes grouped with a line chart in Excel, allowing them to move together


Создание интерактивной диаграммы с флажками с помощью простой функции

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

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

1. Выделите диапазон данных для построения диаграммы, затем нажмите Kutools > Диаграммы > Сравнение категорий > Диаграмма с флажками, смотрите скриншот:

A screenshot showing the Kutools for Excel menu with the Check Box Line Chart option under Category Comparison

2. Появится диалоговое окно Диаграмма с флажками, выбранные данные автоматически заполнят отдельные поля. Смотрите скриншот:

A screenshot of the Check Box Line Chart dialog box showing the selected data populated in textboxes

3. Затем нажмите кнопку OK, появится окно с напоминанием, что будет создан скрытый лист с промежуточными данными — нажмите Да, смотрите скриншот:

A screenshot of a prompt box indicating that a hidden sheet with intermediate data will be created for the Check Box Line Chart

4. После этого линейчатая диаграмма с флажками будет успешно создана, смотрите скриншот:

A screenshot showing the completed line chart with checkboxes created using Kutools

Kutools для Excel - Усильте Excel более чем 300 необходимыми инструментами. Наслаждайтесь постоянно бесплатными функциями ИИ! Получите прямо сейчас


Пример3: Создание раскрывающегося списка с флажками

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

Создание раскрывающегося списка с флажками с помощью списка

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

1. Сначала вставьте элемент Список: нажмите Разработчик > Вставить > Список (элемент управления ActiveX). Смотрите скриншот:

A screenshot showing the Developer tab in Excel with the List Box (ActiveX Control) option selected

2. Нарисуйте список мышью, затем щёлкните по нему правой кнопкой мыши и выберите Свойства в контекстном меню, смотрите скриншот:

A screenshot of the List Box properties menu

3. В области свойств выполните следующие настройки:

  • В поле ListFillRange введите диапазон данных, который хотите отобразить в списке;
  • В поле ListStyle выберите1 - fmList StyleOption из выпадающего списка;
  • В поле MultiSelect выберите 1 – fmMultiSelectMulti из выпадающего списка;
  • Наконец, нажмите кнопку закрытия, чтобы закрыть окно.

A screenshot showing the List Box properties pane with settings for ListFillRange, ListStyle, and MultiSelect

4. Затем кликните по ячейке, в которую хотите вывести выбранные элементы, и задайте для неё имя диапазона. Введите имя диапазона “Outputitem” в поле Имя и нажмите Enter, смотрите скриншот:

A screenshot of the Name Box where the user enters a range name 'Outputitem' in Excel

5. Далее нажмите Вставка > Фигуры > Прямоугольник, затем нарисуйте прямоугольник поверх списка. Смотрите скриншот:

A screenshot showing how to insert a rectangle shape above the list box in Excel

6. Щёлкните правой кнопкой мыши по прямоугольнику и выберите Назначить макрос в контекстном меню. Смотрите скриншот:

A screenshot of the context menu with the 'Assign Macro' option selected for the rectangle shape

7. В диалоговом окне Назначить макрос нажмите кнопку Создать, смотрите скриншот:

A screenshot showing the Assign Macro dialog box with the New button selected in Excel

8. В открывшемся окне Microsoft Visual Basic for Applications замените исходный код в окне модуля следующим VBA-кодом:

Sub Rectangle1_Click()
'Updated by Extendoffice
Dim xSelShp As Shape, xSelLst As Variant, I, J As Integer
Dim xV As String
Set xSelShp = ActiveSheet.Shapes(Application.Caller)
Set xLstBox = ActiveSheet.ListBox1
If xLstBox.Visible = False Then
    xLstBox.Visible = True
    xSelShp.TextFrame2.TextRange.Characters.Text = "Pickup Options"
    xStr = ""
    xStr = Range("Outputitem").Value
    
    If xStr <> "" Then
         xArr = Split(xStr, ";")
    For I = xLstBox.ListCount - 1 To 0 Step -1
        xV = xLstBox.List(I)
        For J = 0 To UBound(xArr)
            If xArr(J) = xV Then
              xLstBox.Selected(I) = True
              Exit For
            End If
        Next
    Next I
    End If
Else
    xLstBox.Visible = False
    xSelShp.TextFrame2.TextRange.Characters.Text = "Select Options"
    For I = xLstBox.ListCount - 1 To 0 Step -1
        If xLstBox.Selected(I) = True Then
        xSelLst = xLstBox.List(I) & ";" & xSelLst
        End If
    Next I
    If xSelLst <> "" Then
        Range("Outputitem") = Mid(xSelLst, 1, Len(xSelLst) - 1)
    Else
        Range("Outputitem") = ""
    End If
End If
End Sub

A screenshot of the VBA code window with code for displaying and hiding the list box in Excel

Примечание: В приведённом выше коде Rectangle1 — имя фигуры, ListBox1 — имя списка, Outputitem — имя диапазона для вывода. Вы можете изменить их по своему усмотрению.

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

A demonstration showing the interaction with the rectangle button to toggle the list box visibility and output selected items into a cell in Excel


Создание раскрывающегося списка с флажками с помощью уникальной функции

С помощью мощного инструмента Kutools для Excel вы можете легко добавить флажки в настоящий раскрывающийся список. Благодаря функции Раскрывающийся список с флажками Kutools вы сможете быстро создавать выпадающие меню с поддержкой множественного выбора — это значительно расширяет возможности ваших списков и повышает эффективность и удобство работы.

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

1. Сначала вставьте обычный раскрывающийся список в выбранные ячейки, смотрите скриншот:

A screenshot of a normal drop-down list in Excel

2. Нажмите Kutools > Раскрывающийся список > Включить расширенный раскрывающийся список. Затем снова выберите Раскрывающийся список с флажками из меню Раскрывающийся список. Смотрите скриншот:

A screenshot of the Kutools tab in Excel with the Drop-down List with Check Boxes option selected

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

  • 2.1) Выделите ячейки, содержащие раскрывающийся список;
  • 2.2) В поле Разделитель введите символ, который будет использоваться для разделения выбранных элементов;
  • 2.4) Нажмите кнопку OK.
    A screenshot showing the Drop-down List with Check Boxes Settings dialog

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

Совет: Если отметить опцию Включить функцию поиска в диалоговом окне, вы сможете выполнять поиск по раскрывающемуся списку, как показано на скриншоте ниже:
checkbox drop down list to search

Пример4: Отметить флажок для изменения цвета строки

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

A screenshot showing checkboxes inserted into an Excel sheet for row color change

Изменить цвет ячейки по флажку с помощью условного форматирования

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

1. Сначала вставьте флажки в нужные ячейки списка, смотрите скриншот:

A screenshot showing checkboxes inserted into Excel cells with data beside them

2. Затем свяжите каждый флажок с ячейкой рядом с ним, смотрите скриншот:

Совет: Для связывания флажков с ячейками можно использовать функцию Формат управления для каждого флажка или применить VBA-код для массового связывания.

A screenshot showing how to link checkboxes to cells in Excel

3. Затем выделите диапазон данных, для которого хотите изменить цвет строк, и нажмите Главная > Условное форматирование > Новое правило, смотрите скриншот:

A screenshot showing the Conditional Formatting menu in Excel to create a new rule

4. В диалоговом окне Новое правило форматирования выполните следующие действия:

  • Выберите опцию Использовать формулу для определения форматируемых ячеек в поле Тип правила;
  • Введите формулу =IF($F2=TRUE,TRUE,FALSE) в поле Форматировать значения, для которых эта формула истинна;
  • Нажмите кнопку Формат, чтобы выбрать желаемый цвет для строк.

Примечание: В формуле $F2 — это первая связанная ячейка с флажком.

A screenshot showing the New Formatting Rule dialog with a formula entered for checkbox-based row color change

5. После выбора цвета нажмите OK > OK для закрытия окон. Теперь при установке флажка соответствующая строка будет автоматически выделяться, как показано на демонстрации ниже:

A demonstration showing the row color change when a checkbox is checked in Excel


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

Следующий VBA-код также поможет изменить цвет строки в зависимости от установленного флажка. Используйте следующий код:

1. На листе, где нужно выделять строки по флажкам, щёлкните правой кнопкой мыши по вкладке листа и выберите Просмотреть код в контекстном меню. Смотрите скриншот:

A screenshot showing how to access the 'View Code' option for VBA in Excel

2. Скопируйте и вставьте приведённый ниже код в открывшееся окно Microsoft Visual Basic for Applications:

VBA-код: Выделение строк по установленному флажку

Sub AddCheckBox()
Dim xCell As Range
Dim xRng As Range
Dim I As Integer
Dim xChk As CheckBox
On Error Resume Next
InputC:
    Set xRng = Application.InputBox("Please select the column range to insert checkboxes:", "Kutools for Excel", Selection.Address, , , , , 8)
If xRng Is Nothing Then Exit Sub
If xRng.Columns.Count > 1 Then
    MsgBox "The selected range should be a single column", vbInformation, "Kutools fro Excel"
    GoTo InputC
Else
    If xRng.Columns.Count = 1 Then
        For Each xCell In xRng
            With ActiveSheet.CheckBoxes.Add(xCell.Left, _
               xCell.Top, xCell.Width = 15, xCell.Height = 12)
               .LinkedCell = xCell.Offset(, 1).Address(External:=False)
               .Interior.ColorIndex = xlNone
               .Caption = ""
               .Name = "Check Box " & xCell.Row
            End With
            xRng.Rows(xCell.Row).Interior.ColorIndex = xlNone
        Next
    End If
    With xRng
     .Rows.RowHeight = 16
    End With
    xRng.ColumnWidth = 5#
    xRng.Cells(1, 1).Offset(0, 1).Select
    For Each xChk In ActiveSheet.CheckBoxes
      xChk.OnAction = "Sheet2.InsertBgColor"
    Next
End If
End Sub

Sub InsertBgColor()
Dim xName As Integer
Dim xChk As CheckBox
For Each xChk In ActiveSheet.CheckBoxes
  xName = Right(xChk.Name, Len(xChk.Name) - 10)
  If (xName = Range(xChk.LinkedCell).Row) Then
   If (Range(xChk.LinkedCell) = "True") Then
    Range("A" & xName, Range(xChk.LinkedCell).Offset(0, -2)).Interior.ColorIndex = 6
   Else
    Range("A" & xName, Range(xChk.LinkedCell).Offset(0, -2)).Interior.ColorIndex = xlNone
   End If
  End If
Next
End Sub

Примечание: В приведённом выше коде в строке xChk.OnAction = "Sheet2.InsertBgColor" необходимо заменить имя листа Sheet2 на своё (Sheet2 — это реальное имя листа, его можно узнать в левой панели окна кода). Смотрите скриншот:

A screenshot showing how to modify the VBA code to change the sheet name in the script

3. Затем поместите курсор в начало кода и нажмите клавишу F5 для запуска. В появившемся окне Kutools для Excel выберите диапазон для вставки флажков, смотрите скриншот:

A screenshot showing the Kutools for Excel dialog box for selecting a range to insert checkboxes

4. Затем нажмите кнопку OK — флажки будут вставлены в выбранные ячейки, как показано на скриншоте:

A screenshot showing checkboxes inserted into Excel cells

5. Теперь при установке флажка соответствующая строка будет автоматически окрашиваться, как показано на скриншоте:

A screenshot showing the row color change in Excel when a checkbox is checked


Пример5: Подсчитать или суммировать значения ячеек, если флажок установлен

Если у вас есть диапазон данных с флажками, вы можете захотеть подсчитать количество отмеченных флажков или суммировать значения по отмеченным флажкам, как показано на скриншоте ниже. Как это сделать в Excel?

A screenshot showing counting and summing values based on checked checkboxes in Excel

Для этого важно связать флажки с соответствующими ячейками рядом с данными. Если флажок отмечен, в связанной ячейке будет TRUE, иначе — FALSE. Затем можно использовать функции подсчёта или суммы для получения результата на основе значений TRUE или FALSE.

1. Сначала свяжите флажки с ячейками по отдельности: если флажок отмечен — отображается TRUE, если снят — FALSE, смотрите скриншот:

Совет: Для связывания флажков с ячейками можно использовать функцию Формат управления для каждого флажка или применить VBA-код для массового связывания.

A screenshot showing the linking of checkboxes to cells in Excel

2. Затем используйте следующие формулы для подсчёта или суммирования значений по отмеченным флажкам:

Подсчитать значения по отмеченным флажкам:

=COUNTIF(D2:D10,TRUE)

Примечание: В этой формуле D2:D10 — диапазон связанных ячеек для флажков.

A screenshot showing the COUNTIF formula applied to count checked checkboxes in Excel

Суммировать значения по отмеченным флажкам:

=SUMPRODUCT(($D$2:$D$10=TRUE)*$C$2:$C$10)

Примечание: В этой формуле D2:D10 — диапазон связанных ячеек для флажков, а C2:C10 — список ячеек для суммирования.

A screenshot showing the SUMPRODUCT formula used to sum values based on checked checkboxes in Excel


Пример6: Если флажок установлен, вернуть определённое значение

Если у вас есть флажок, при установке которого в ячейке должно появляться определённое значение, а при снятии — оставаться пустой, как показано на демонстрации ниже:

A demonstration of checking a checkbox in Excel to show specific text

Для выполнения этой задачи выполните следующие действия:

1. Сначала свяжите этот флажок с ячейкой: щёлкните правой кнопкой мыши по флажку и выберите Формат управления, в появившемся окне Формат объекта на вкладке Управление выберите ячейку для связи в поле Ссылка на ячейку, смотрите скриншот:

A screenshot showing the Format Control dialog box to link a checkbox to a cell in Excel

2. Затем нажмите кнопку OK для закрытия окна. Теперь введите формулу: =IF(A5=TRUE,"Extendoffice","") в ячейку для вывода результата и нажмите Enter.

Примечание: В этой формуле A5 — ячейка, связанная с флажком, “Extendoffice” — нужный текст, вы можете изменить их по своему усмотрению.

A screenshot showing the formula to return specific text when a checkbox is checked in Excel

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

A demonstration of checking a checkbox in Excel to show specific text

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

🤖 Kutools AI Aide: Совершенно новый подход к анализу данных на основе: Интеллектуальное выполнение |  Генерация кода  |  Создание пользовательских формул |  Анализ данных и построение диаграмм  |  Вызов Расширенных функций Kutools
Популярные функции: Найти, выделить или отметить дубликаты | Удалить пустые строки | Объединить столбцы или ячейки без потери данных |   Округлить без формулы ...
Супер ПОИСК: VLOOKUP по нескольким критериям | VLOOKUP с несколькими значениями | Многолистовой поиск | Распознавание нечетких соответствий ....
Расширенный раскрывающийся список: Быстро создать раскрывающийся список | Зависимый раскрывающийся список | Множественный выбор в раскрывающемся списке ....
Менеджер столбцов: Добавить определённое количество столбцов | Переместить столбцы | Переключить видимость скрытых столбцов | Сравнить диапазоны и столбцы ...
Избранные функции: Сетка фокусировки | Дизайн листа | Улучшенная строка формулы | Управление книгами и листами | Библиотека автотекста | Выбор даты | Объединить данные | Шифрование/расшифровка ячеек | Отправить письмо по списку | Супер фильтр | Специальный фильтр (фильтр ячеек с жирным/курсивом/зачёркнутым...) ...
Топ-15 наборов инструментов:12 текстовых инструментов (Добавить текст, Удалить определенные символы, ...) |50+ типов диаграмм (Диаграмма Ганта, ...) |40+ практических формул (Расчет возраста на основе даты рождения, ...) |19 инструментов вставки (Вставить QR-код, Вставить изображение по пути, ...) |12 инструментов преобразования (Преобразовать в слова, Конвертация валюты, ...) |7 инструментов для объединения и разделения (Расширенное объединение строк, Разделить ячейки, ...) | ... и многое другое

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


Office Tab добавляет вкладки в Office и делает вашу работу намного проще

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