Skip to main content

Hoe een ander selectievakje uit te vinken wanneer een selectievakje wordt aangevinkt in Excel?

Author: Siluvia Last Modified: 2025-05-29

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.

A screenshot showing the option View Code in the context menu of a sheet tab in Excel

2. Plak de volgende VBA-code in het geopende Microsoft Visual Basic for Applications-venster in het Werkblad (Code)-venster.

A screenshot of the VBA code editor in Excel with example VBA code for managing checkboxes

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:

1) In de code zijn Checkbox1, Checkbox2, ..., Checkbox10 de namen van de selectievakjes;
2) In de volgende regel behoren de selectievakjes tussen dubbele aanhalingstekens tot dezelfde groep, en elk selectievakje wordt gescheiden door een komma. Om meer selectievakgroepen toe te voegen, plaats de selectievakjes tussen nieuwe dubbele aanhalingstekens.
xAllArr = Array("CheckBox1,CheckBox2,CheckBox3", "CheckBox4,CheckBox5,CheckBox6,CheckBox7", "CheckBox8,CheckBox9,CheckBox10")
3) De selectievakjes zijn ActiveX Control-selectievakjes.

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

Kutools voor Excel: Meer dan 300 handige tools binnen handbereik! Geniet van permanent gratis AI-functies! Download nu!

Beste Office-productiviteitstools

🤖 Kutools AI Assistent: Breng een revolutie teweeg in data-analyse Methode: Intelligente uitvoering |Code genereren |Aangepaste formules maken |Gegevens analyseren en grafieken genereren |Kutools-functies gebruiken
Populaire functies: Dubbele waarden markeren, markeren of identificeren | Verwijder lege rijen | Kolommen of cellen samenvoegen zonder gegevensverlies | Afronden ...
Super ZOEKEN: VLookup met meerdere criteria | VLookup met meerdere waarden | Meervoudig-blad opzoeken | Fuzzy Match ...
Geavanceerde keuzelijst: Snel keuzelijst maken | Afhankelijke keuzelijst | Meervoudige selectie keuzelijst ...
Kolombeheer: Specifiek aantal kolommen toevoegen | Kolommen verplaatsen | Zichtbaarheid van verborgen kolommen wisselen | Bereik & kolommen vergelijken ...
Uitgelichte functies: Rasterfocus | Ontwerpweergave | Verbeterde formulebalk | Werkboek- & Werkbladbeheer | AutoTekstbibliotheek | Datumkiezer | Gegevens samenvoegen | Cellen coderen/decoderen | E-mail verzenden per lijst | Superfilter | Speciaal filter (filter cellen met vetgedrukt/cursief/doorhalen...) ...
Top15 toolsets:12 Teksttools (Tekst toevoegen, Specifieke tekens verwijderen, ...) |50+ Grafiek type (Gantt-diagram, ...) |40+ Praktische formules (Leeftijd berekenen op basis van geboortedatum, ...) |19 Invoegtools (QR-code invoegen, Afbeelding invoegen vanaf pad, ...) | 12 Conversietools (Omzetten naar woorden, Valutaconversie, ...) | 7 Samenvoeg- & Opsplitstools (Geavanceerd samenvoegen van rijen, Cellen splitsen, ...) | ... en meer

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!