Перейти к основному содержанию

Как снять другой флажок, когда флажок установлен в Excel?

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

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


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

Как показано в приведенной выше демонстрации, десять флажков с именами Флажок1, Флажок2, Флажок3..., Флажок10 разбиты на 3 группы и расположены в разных категориях в таблице.

В этом примере Checkbox1, 2, 3 находятся в одной группе, Checkbox4, 5, 6, 7 находятся в одной группе и Checkbox8, 9,10 находятся в той же группе. В каждой группе одновременно может быть установлен только один флажок. Когда флажок установлен, другой флажок автоматически снимается.

Теперь давайте посмотрим, как применить следующий код VBA для решения этой проблемы.

1. Щелкните правой кнопкой мыши вкладку листа и выберите Просмотреть код из контекстного меню.

2. В открывшемся Microsoft Visual Basic для приложений window , вставьте следующий код VBA в Лист (Код) окно.

Код VBA: снимите другой флажок, когда установлен новый флажок

Dim xBol As Boolean
'Updated by Extendoffice 20220816
Private Sub CheckBox1_Change()
SetCheckBoxes "CheckBox1"
End Sub

Private Sub CheckBox2_Change()
SetCheckBoxes "CheckBox2"
End Sub

Private Sub CheckBox3_Change()
SetCheckBoxes "CheckBox3"
End Sub

Private Sub CheckBox4_Change()
SetCheckBoxes "CheckBox4"
End Sub

Private Sub CheckBox5_Change()
SetCheckBoxes "CheckBox5"
End Sub

Private Sub CheckBox6_Click()
SetCheckBoxes "CheckBox6"
End Sub

Private Sub CheckBox7_Click()
SetCheckBoxes "CheckBox7"
End Sub
Private Sub CheckBox8_Click()
SetCheckBoxes "CheckBox8"
End Sub
Private Sub CheckBox9_Click()
SetCheckBoxes "CheckBox9"
End Sub
Private Sub CheckBox10_Click()
SetCheckBoxes "CheckBox10"
End Sub

Private Function SetCheckBoxes(mCheckBoxName As String)
Dim x As Long
Dim xAllArr
Dim xArrItem
Dim xI, xJ
If Not xBol Then Exit Function
'In the following line, the checkboxes enclosed in double quotes belong to the same group, and each checkbox is separated by a comma. To add more checkbox groups, please enclose the checkboxes in new double quotes.
xAllArr = Array("CheckBox1,CheckBox2,CheckBox3", "CheckBox4,CheckBox5,CheckBox6,CheckBox7", "CheckBox8,CheckBox9,CheckBox10")
For xI = LBound(xAllArr) To UBound(xAllArr)
If InStr(xAllArr(xI), mCheckBoxName) > 0 Then
xBol = False
xArrItem = Split(xAllArr(xI), ",")
For xJ = LBound(xArrItem) To UBound(xArrItem)
If xArrItem(xJ) <> mCheckBoxName Then
Me.OLEObjects(xArrItem(xJ)).Object.Value = False
End If
Next
End If
Next
xBol = True
End Function

Private Sub Worksheet_Activate()
xBol = True
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
xBol = True
End Sub

Заметки:

1) В коде Флажок1, Флажок2, ..., Флажок10 имя флажков;
2) В следующей строке флажки, заключенные в двойные кавычки, принадлежат к одной группе, и каждый чекбокс отделяется запятой. Чтобы добавить больше групп флажков, заключите флажки в новые двойные кавычки.
xAllArr = Array("CheckBox1,CheckBox2,CheckBox3", "CheckBox4,CheckBox5,CheckBox6,CheckBox7", "CheckBox8,CheckBox9,CheckBox10")
3) Флажки стоят элемент управления ActiveX флажки.

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

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


Демонстрация: Снимите еще один флажок, когда флажок установлен в Excel

  Kutools for Excel включает более 300 мощных функций для Microsoft Excel. Бесплатная пробная версия без ограничений в течение 30 дней. Скачать сейчас!

Лучшие инструменты для офисной работы

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

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

Описание


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Comments (0)
No ratings yet. Be the first to rate!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations