Прескочи на основното съдържание

Как да премахнете отметката от друго квадратче за отметка, когато има отметка в квадратче в Excel?

Автор: Силувия Последна промяна: 2023-01-11

Както е показано на gif-а по-долу, да предположим, че има списък за покупки, който трябва да бъде финализиран от вас. Докато проверявате списъка, откривате, че маркираните елементи в някои категории са над бюджета и трябва да изберете отново. Тъй като списъкът е твърде дълъг, сега се нуждаете от по-ефективен начин за автоматично премахване на отметката от първоначално отметнато квадратче, когато се постави отметка в ново квадратче в категория. Този урок демонстрира метода стъпка по стъпка, за да ви помогне да го направите.

Премахнете отметката от друго квадратче, когато е поставена отметка в ново квадратче с VBA код


Премахнете отметката от друго квадратче, когато е поставена отметка в ново квадратче с VBA код

Както е показано в демонстрацията по-горе, има десет квадратчета за отметка Квадратче за отметка1, Квадратче за отметка2, Квадратче за отметка3, ..., Квадратче за отметка10 са разделени на 3 групи и разположени в различни категории в таблицата.

В този пример Checkbox1, 2, 3 са в една група, Checkbox4, 5, 6, 7 са в една група, а Checkbox8, 9,10 са в същата група. Във всяка група е разрешено да се постави отметка само в едно квадратче наведнъж. Когато има отметка в едно квадратче, отметката в друго квадратче се премахва автоматично.

Сега нека видим как да приложим следния код на VBA, за да разрешим този проблем.

1. Щракнете с десния бутон върху раздела на листа и щракнете Преглед на кода от контекстното меню.

2. В отворените Microsoft Visual Basic за приложения прозорец, поставете следния 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 за приложения прозорец.

След това, когато поставите отметка в ново квадратче за отметка в група, отметката от първоначално отбелязаното ще бъде премахната автоматично, както е показано на gif-а по-долу.


Демонстрация: Премахнете отметката от друго квадратче, когато има отметка в квадратче в Excel

  Kutools за Excel включва 300+ мощни функции за Microsoft Excel. Безплатно изпробване без ограничение за 30 дни. Изтегли сега!

Най-добрите инструменти за продуктивност в офиса

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

Усъвършенствайте уменията си за Excel с Kutools за Excel и изпитайте ефективност, както никога досега. Kutools за Excel предлага над 300 разширени функции за повишаване на производителността и спестяване на време.  Щракнете тук, за да получите функцията, от която се нуждаете най-много...

Описание


Раздел Office Внася интерфейс с раздели в Office и прави работата ви много по-лесна

  • Разрешете редактиране и четене с раздели в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Отваряйте и създавайте множество документи в нови раздели на един и същ прозорец, а не в нови прозорци.
  • Увеличава вашата производителност с 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