Hoe een ander selectievakje uit te vinken wanneer een selectievakje wordt aangevinkt in Excel?
Zoals te zien is in de onderstaande video, stel dat er een aankooplijst is die u moet finaliseren. Tijdens het controleren van de lijst merkt u op dat de aangevinkte items in sommige categorieën het budget overschrijden en opnieuw geselecteerd moeten worden. Omdat de lijst te lang is, hebt u nu een efficiëntere manier nodig om automatisch het oorspronkelijk aangevinkte selectievakje uit te vinken wanneer een nieuw selectievakje in een categorie wordt aangevinkt. Deze handleiding demonstreert de methode stap voor stap om u te helpen dit te realiseren.
Een ander selectievakje uitvinken wanneer een nieuw selectievakje wordt aangevinkt met VBA-code
Een ander selectievakje uitvinken wanneer een nieuw selectievakje wordt aangevinkt met VBA-code
Zoals te zien is in de bovenstaande demo, zijn tien selectievakjes genaamd Checkbox1, Checkbox2, Checkbox3, ..., Checkbox10 verdeeld in 3 groepen en geplaatst in verschillende categorieën in de tabel.
In dit voorbeeld bevinden Checkbox1, 2 en 3 zich in één groep, Checkbox4, 5, 6 en 7 in een andere groep, en Checkbox8, 9 en 10 in dezelfde groep. In elke groep mag slechts één selectievakje tegelijk worden aangevinkt. Wanneer een selectievakje wordt aangevinkt, wordt een ander selectievakje automatisch uitgevinkt.
Laten we nu zien hoe we de volgende VBA-code kunnen toepassen om dit probleem op te lossen.
1. Klik met de rechtermuisknop op het tabblad van het werkblad en klik op Weergave Code in het contextmenu.
2. Plak de volgende VBA-code in het geopende Microsoft Visual Basic for Applications-venster in het Werkblad (Code)-venster.
VBA-code: Een ander selectievakje uitvinken wanneer een nieuw selectievakje wordt aangevinkt
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
Opmerkingen:
3. Druk op de toetsen Alt + Q om het Microsoft Visual Basic for Applications-venster te sluiten.
Vervolgens wordt wanneer u een nieuw selectievakje in een groep aanvinkt, het oorspronkelijk aangevinkte automatisch uitgevinkt, zoals te zien is in de onderstaande gif.
Demo: Een ander selectievakje uitvinken wanneer een selectievakje wordt aangevinkt in Excel
Beste Office-productiviteitstools
Versterk je Excel-vaardigheden met Kutools voor Excel en ervaar ongeëvenaarde efficiëntie. Kutools voor Excel biedt meer dan300 geavanceerde functies om je productiviteit te verhogen en tijd te besparen. Klik hier om de functie te krijgen die je het meest nodig hebt...
Office Tab brengt een tabbladinterface naar Office en maakt je werk veel eenvoudiger
- Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in
- Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster, in plaats van in nieuwe vensters.
- Verhoog je productiviteit met50% en bespaar dagelijks honderden muisklikken!