Як зняти прапорець іншого прапорця, якщо в Excel встановлено прапорець?
Як показано на зображенні нижче, припустімо, що є список покупок, який ви повинні завершити. Перевіряючи список, ви виявили, що відмічені елементи в деяких категоріях перевищують бюджет і потребують повторного вибору. Оскільки список надто довгий, тепер вам потрібен ефективніший спосіб автоматичного зняття прапорця з початкового прапорця, коли в категорії встановлено новий прапорець. Цей підручник демонструє метод крок за кроком, щоб допомогти вам це зробити.
Зніміть інший прапорець, коли новий прапорець позначено кодом VBA
Зніміть інший прапорець, коли новий прапорець позначено кодом VBA
Як показано в наведеній вище демонстрації, десять прапорців мають назви Прапорець1, Прапорець2, Прапорець3, ..., Прапорець10 розділені на 3 групи та розташовані в різних категоріях у таблиці.
У цьому прикладі прапорці 1, 2, 3 знаходяться в одній групі, прапорці 4, 5, 6, 7 — в одній групі, а прапорці 8, 9,10, XNUMX — в одній групі. У кожній групі одночасно можна встановити лише один прапорець. Коли встановлено прапорець, інший прапорець знімається автоматично.
Тепер давайте подивимося, як застосувати наступний код 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
примітки:
3 Натисніть кнопку інший + Q клавіші, щоб закрити Microsoft Visual Basic для додатків вікна.
Тоді, коли ви встановлюєте новий прапорець у групі, початковий позначений прапорець буде автоматично знято, як показано на зображенні нижче.
Демонстрація: зніміть прапорець іншого прапорця, коли в Excel встановлено прапорець
Kutools для Excel містить понад 300 потужних функцій для Microsoft Excel. Спробуйте безкоштовно без обмежень протягом 30 днів. Завантажити зараз!
Найкращі інструменти продуктивності офісу
Покращуйте свої навички Excel за допомогою Kutools для Excel і відчуйте ефективність, як ніколи раніше. Kutools для Excel пропонує понад 300 додаткових функцій для підвищення продуктивності та економії часу. Натисніть тут, щоб отримати функцію, яка вам найбільше потрібна...
Вкладка Office Передає інтерфейс із вкладками в Office і значно полегшує вашу роботу
- Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
- Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
- Збільшує вашу продуктивність на 50% та зменшує сотні клацань миші для вас щодня!