KutoolsforOffice — Eén oplossing, vijf krachtige tools.Meer bereiken met minder moeite.

Hoe schakelt u een ander selectievakje uit zodra een selectievakje in Excel wordt aangevinkt?

AuteurSiluvia Wijzigingsdatum

In veel praktijksituaties, zoals het beheren van een lange aankooplijst in Excel, komt u scenario’s tegen waarin u wilt garanderen dat binnen een specifieke categorie of groep slechts één optie geselecteerd kan worden. Als bepaalde categorieën bijvoorbeeld buiten het ingestelde budget vallen, moet u mogelijk items opnieuw selecteren zodat er per groep maar één item aangevinkt blijft. Het handmatig beheren van selectievakjes in grote lijsten is inefficiënt en foutgevoelig, vooral naarmate het aantal categorieën groeit. Om dit proces te stroomlijnen en fouten te verminderen, kunt u Excel zo instellen dat het aanvinken van een nieuw selectievakje binnen een groep automatisch het eerder geselecteerde vakje uitschakelt — zodat er altijd precies één selectie per categorie actief is. Dit artikel bevat een stapsgewijze handleiding om dit te realiseren, waardoor uw workflow efficiënter en betrouwbaarder wordt.


Een ander selectievakje uitschakelen wanneer een nieuw selectievakje wordt aangevinkt met VBA-code

Ter illustratie van het proces: denk aan een situatie zoals getoond in de video hierboven. U hebt tien selectievakjes met de labels CheckBox1 tot en met CheckBox10, verdeeld over drie groepen die verschillende aankoopcategorieën vertegenwoordigen.

✅ Groepsstructuur:

  • Groep 1: CheckBox1, CheckBox2, CheckBox3
  • Groep 2: CheckBox4, CheckBox5, CheckBox6, CheckBox7
  • Groep 3: CheckBox8, CheckBox9, CheckBox10

Binnen elke groep mag slechts één selectievakje tegelijkertijd zijn geselecteerd. Wanneer een nieuw selectievakje wordt aangevinkt, worden de andere in dezelfde groep automatisch uitgeschakeld – vergelijkbaar met het gedrag van Keuzerondje, maar dan met selectievakjes.

🧩 Stappen om de VBA-oplossing toe te passen:

  1. Open de VBA-editor: Klik met de rechtermuisknop op het tabblad van het werkblad waarop de selectievakjes staan en kies vervolgens Code weergeven.
  2. Code-menu weergeven
  3. Plak de volgende codein het codovenster van het werkblad:
  4. Dim xBol As Boolean
    'Updated by Extendoffice
    
    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 xAllArr, xArrItem
        Dim xI, xJ
        If Not xBol Then Exit Function
        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
  5. Sluit de VBA-editor (Alt + Q) en keer terug naar Excel om de selectievakjes te testen.

📌 Belangrijke opmerkingen:

  • Zorg ervoor dat de Naam-eigenschappen (niet de labels) van uw selectievakje exact overeenkomen met de namen in de code.
  • Groeperingen worden gedefinieerd in de array-regel:
    xAllArr = Array("CheckBox1,CheckBox2,CheckBox3", "CheckBox4,CheckBox5,CheckBox6,CheckBox7", "CheckBox8,CheckBox9,CheckBox10")
  • Deze VBA werkt alleen met ActiveX-besturingselementen als selectievakjes, niet met formulierbesturingselementen.
  • Macro’s moeten zijn ingeschakeld om deze automatisering te laten werken.

📺 Demo:

🔍 Tips voor probleemoplossing:

  • Controleer of er geen dubbele namen voorkomen voor selectievakjes.
  • Zorg ervoor dat alle selectievakjes van het ActiveX-besturingselement zijn ingeschakeld.
  • Elke selectievakje-procedure moet correct SetCheckBoxes aanroepen.
  • Scenario’s met meerdere werkbladen vereisen aanpassing via klassemodules of gecentraliseerde besturing.

💡 Alternatieve oplossing: U kunt keuzerondjes uit formulierbesturingselementen gebruiken voor ingebouwd gedrag met één selectie. Voor geavanceerdere lay-outs en logische besturing is VBA + selectievakjes echter flexibeler.

✨ Tip: Hulpmiddelen zoals Kutools voor Excel bieden een GUI-gebaseerd beheer van selectievakjes, zodat je ze eenvoudig kunt configureren zonder te hoeven coderen.


Demo: Een ander selectievakje uitschakelen wanneer een selectievakje wordt aangevinkt in Excel

 
Kutools voor Excel: Meer dan 300 handige tools binnen handbereik! Profiteer van AI-ondersteunde functies voor slimmer en sneller werken!Nu downloaden!

Beste Office-productiviteitshulpmiddelen

🤖KUTOOLS AI Assistant: Revolutioneer Data-analyse op basis van:Intelligente uitvoering   |  Genereer code|  Maak aangepaste formules  |  Analyseer gegevens en genereer grafieken|  Roep Verbeterde functies aan
Populaire functies:Zoeken, markeren of Dubbele waarden markeren   |  Verwijder lege rijen   |  Kolommen samenvoegen of cellen zonder gegevensverlies   |   Afronden zonder formule...
Super ZOEKEN:VLookup met meerdere criteria  |  VLookup met meerdere waarden  |   VLookup over meerdere werkbladen   |   Fuzzy Match....
Geavanceerde keuzelijst:Snel een keuzelijst maken   |  Afhankelijke keuzelijst   |  Keuzelijst met meervoudige selectie....
Kolombeheerder:Voeg een specifiek aantal kolommen toe|Verplaats kolommen|Wissel zichtbaarheidsstatus van verborgen kolommen|Vergelijk bereiken en kolommen...
Uitgelichte functies:Rasterfocus   |  Ontwerpweergave   |Verbeterde formulebalk   | Werkmap- en bladbeheerder   |  Bronnenbibliotheek(Automatische tekst)|  Datumkiezer   |  Werkbladen samenvoegen  |  Versleutelen/Cellen decoderen   | E-mails verzenden op basis van lijst   |  Superfilter   |   Speciaal filter(Filter cellen met vetgedrukt lettertype/cursief/doorgestreept...) ...
Top 15 gereedschapssets:12 Teksthulpmiddelen(Tekst toevoegen,Specifieke tekens verwijderen, ...)|   50+Grafiektypen(Gantt-diagram, ...)|   40+ Praktische formules(Leeftijd berekenen op basis van geboortedatum, ...)|   19 Invoeghulpmiddelen(QR-code Invoegen,Afbeelding invoegen vanaf pad, ...)|   12 Conversiehulpmiddelen(Omzetten naar woorden,Wisselkoersconversie, ...)|   7 Samenvoegen en splitsenhulpmiddelen(Geavanceerd samenvoegen van rijen,Cellen splitsen, ...)|... en meer
Gebruik Kutools in uw voorkeurstaal – ondersteunt Engels, Spaans, Duits, Frans, Chinees en 40+ andere talen!

Geef uw Excel-vaardigheden een boost met Kutools voor Excel en ervaar efficiëntie zoals nooit tevoren.Kutools voor Excel biedt meer dan 300 geavanceerde functies om de productiviteit te verhogen en Tijd besparen.Klik hier om de functie te krijgen die u het meest nodig heeft...


Office Tab brengt een tabbladinterface naar Office en maakt uw werk veel eenvoudiger

  • Schakel tabbladbewerking en -lezen in voor Word, Excel, PowerPoint, Publisher, Access, Visio en Project.
  • Open en maak meerdere documenten aan in nieuwe tabbladen binnen hetzelfde venster, in plaats van in afzonderlijke vensters.
  • Verhoogt uw productiviteit met 50 % en bespaart u dagelijks honderden muisklikken!

Alle Kutools-add-ins in één installatieprogramma.

Kutools for Office bundelt add-ins voor Excel, Word, Outlook en PowerPoint, plus Office Tab Pro—ideaal voor teams die met meerdere Office-apps werken.

ExcelWordOutlookTabsPowerPoint
  • Alles-in-één suite— add-ins voor Excel, Word, Outlook & PowerPoint plus Office Tab Pro
  • Één installatieprogramma, één licentie— binnen enkele minuten klaar (MSI-geschikt)
  • Werkt beter samen— gestroomlijnde productiviteit in alle Office-apps
  • 30 dagen volledig functionele proefversie— geen registratie, geen creditcard
  • Beste prijs-kwaliteitverhouding— bespaar ten opzichte van het afzonderlijk kopen van add-ins