Как сделать, чтобы в группе флажков в Excel был выбран только один флажок?
Как показано на скриншоте ниже, для группы флажков, перечисленных в строке 2, при выборе или проверке только одного флажка остальные флажки будут отключены. Как этого добиться? Код VBA в этой статье может вам помочь.
Установите только один флажок с кодом VBA
Установите только один флажок с кодом VBA
Вы можете запускать приведенные ниже коды VBA, чтобы устанавливать только один флажок в группе флажков за раз. Пожалуйста, сделайте следующее.
1. Во-первых, установите нужные флажки. Здесь вы должны вставить Флажки управления ActiveX как показано на следующем скриншоте:
2. Затем нажмите другой + Клавиши F11 одновременно, чтобы открыть Microsoft Visual Basic для приложений окно.
3. В дебюте Microsoft Visual Basic для приложений окна, нажмите Вставить > Модуль класса.
4. Измените название класса на ClsChk в (Имя и фамилия) коробка Свойства панель, а затем скопируйте и вставьте приведенный ниже код VBA в соответствующий Код: окно. Смотрите скриншот:
Код VBA 1: устанавливайте только один флажок за раз
Option Explicit
Public WithEvents Chk As MSForms.CheckBox
Private Sub Chk_Click()
Call SelOneCheckBox(Chk)
End Sub
Sub SelOneCheckBox(Target As Object)
Dim xObj As Object
Dim I As String
Dim n As Integer
If Target.Object.Value = True Then
I = Right(Target.Name, Len(Target.Name) - 8)
For n = 1 To ActiveSheet.OLEObjects.Count
If n <> Int(I) Then
Set xObj = ActiveSheet.OLEObjects.Item(n)
xObj.Object.Value = False
xObj.Object.Enabled = False
End If
Next
Else
I = Right(Target.Name, Len(Target.Name) - 8)
For n = 1 To ActiveSheet.OLEObjects.Count
If n <> Int(I) Then
Set xObj = ActiveSheet.OLEObjects.Item(n)
xObj.Object.Enabled = True
End If
Next
End If
End Sub
5. Теперь щелкните Вставить > Модули, затем скопируйте и вставьте приведенный ниже код VBA в Модули окно.
Код VBA 2: устанавливайте только один флажок за раз
Dim xCollection As New Collection
Public Sub ClsChk_Init()
Dim xSht As Worksheet
Dim xObj As Object
Dim xChk As ClsChk
Set xSht = ActiveSheet
Set xCollection = Nothing
For Each xObj In xSht.OLEObjects
If xObj.Name Like "CheckBox**" Then
Set xChk = New ClsChk
Set xChk.Chk = CallByName(xSht, xObj.Name, VbGet)
xCollection.Add xChk
End If
Next
Set xChk = Nothing
End Sub
6. нажмите F5 ключ для запуска кода.
С этого момента при установке любого из флажков на листе остальные флажки будут отключены автоматически, и вы можете снять их, чтобы снова активировать все флажки.
Внимание: Если новый флажок добавлен в группу флажков, повторно запустите код VBA, чтобы снова активировать все флажки. При удалении флажка из группы флажков также необходимо перезапустить код.
Rприподнятые статьи:
- Как фильтровать данные по флажку в Excel?
- Как скрыть флажок, когда строка скрыта в Excel?
- Как выделить ячейку или строку с помощью флажка в Excel?
- Как создать выпадающий список с несколькими флажками в Excel?
- Как вставить отметку даты в ячейку, если в Excel установлен флажок?
Лучшие инструменты для работы в офисе
Kutools for Excel решает большинство ваших проблем и увеличивает вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма ...
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон...
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы... Предотвращение дублирования ячеек; Сравнить диапазоны...
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор ...
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое ...
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии...
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом ...
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF...
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!














