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

Hoe zorgt u ervoor dat in Excel slechts één selectievakje tegelijkertijd kan worden geselecteerd binnen een groep?

AuteurSiluvia Wijzigingsdatum

In sommige Excel-toepassingen wilt u gebruikers beperken tot het kiezen van slechts één optie uit een groep selectievakjes—waardoor het gedrag van een keuzerondje wordt nagebootst. Zoals in de onderstaande schermafbeelding te zien is, worden alle andere selectievakjes in de groep onmiddellijk uitgeschakeld zodra u een selectievakje in rij 2 aanvinkt. Zo blijft er altijd maar één keuze mogelijk. Deze beperking is ideaal voor enquêtes, lijsten met één antwoord of dashboards waarbij meerdere selecties moeten worden voorkomen. Om dit effect rechtstreeks in Excel te realiseren, zijn specifieke technieken nodig, zoals het gebruik van VBA-code. Dit artikel biedt praktische oplossingen om het „één-keuze”-effect met selectievakjes in Excel te implementeren, inclusief stapsgewijze instructies en belangrijke overwegingen voor toepassing in de praktijk.

Een schermafbeelding van een groep selectievakjes in Excel waarvan er slechts één tegelijkertijd kan worden geselecteerd


Zorg ervoor dat slechts één selectievakje kan worden aangevinkt met VBA-code

U kunt de volgende VBA-aanpak toepassen om te garanderen dat er in een groep slechts één selectievakje tegelijkertijd geselecteerd kan worden. Deze oplossing is bij uitstek geschikt voor situaties waarin u een naadloze, automatische ervaring nodig hebt—perfect voor complexe sjablonen of wanneer het beheren van inschakel-/uitschakellogica essentieel is.

1. Begin met het invoegen van de selectievakjes waar u één-keuze-gedrag wilt afdwingen. Voor deze oplossing moet u ActiveX-besturingselementen (checkboxes) gebruiken, omdat formulierbesturingselementen dit inschakel-/uitschakelmechanisme niet rechtstreeks ondersteunen. Ga naar het Ontwikkelaar-tabblad > Invoegen > ActiveX-besturingselementen > Selectievakje om ActiveX-selectievakjes in te voegen. Plaats alle selectievakjes binnen uw gewenste groep, zoals hieronder wordt weergegeven:

Een schermafbeelding die het invoegen van ActiveX-besturingselementselectievakjes in Excel toont

2. Druk tegelijkertijd op Alt+F11 om het venster Microsoft Visual Basic for Applications te openen.

3. Klik in het editorvenster op Invoegen > Klassemodule. Met deze stap maakt u een nieuwe klassemodule aan, die nodig is om gebeurtenissen voor meerdere selectievakjes af te handelen. Dankzij een klassemodule kunt u individueel reageren op elk aangeklikte selectievakje, ongeacht hoeveel selectievakjes er aanwezig zijn.

Een schermafbeelding die de optie toont om een klassemodule in te voegen in Excel VBA

4. Zoek de nieuwe klassemodule in het deelvenster Eigenschappen(meestal links), klik erop en wijzig de naam in het vak ()Naam) van de standaardwaarde (zoals Class1) naar ClsChk. Kopieer en plak vervolgens de volgende code in het codevenster van deze klassemodule. Zie de schermafbeelding als referentie:

Een schermafbeelding van het eigenschappenvenster in VBA voor het wijzigen van de klassenaam naar ClsChk

VBA-code 1: Slechts één selectievakje per keer selecteren

Option Explicit
Public WithEvents Chk As MSForms.CheckBox
Private Sub Chk_Click()
Call SelOneCheckBox(Chk)
End Sub

Sub SelOneCheckBox(Target As Object)
Dim xObj As Object
Dim I As String
Dim n As Integer
If Target.Object.Value = True Then

    I = Right(Target.Name, Len(Target.Name) - 8)
    For n = 1 To ActiveSheet.OLEObjects.Count
      If n <> Int(I) Then
        Set xObj = ActiveSheet.OLEObjects.Item(n)
        xObj.Object.Value = False
        xObj.Object.Enabled = False
      End If
    Next
Else
    I = Right(Target.Name, Len(Target.Name) - 8)
    For n = 1 To ActiveSheet.OLEObjects.Count
      If n <> Int(I) Then
        Set xObj = ActiveSheet.OLEObjects.Item(n)
        xObj.Object.Enabled = True
      End If
    Next
End If
End Sub  

5. Klik vervolgens op Invoegen > Module om een standaard codemodule toe te voegen. Kopieer en plak de volgende code in het modulevenster. Met deze code worden al uw selectievakjes geïnitialiseerd en „gekoppeld” aan de eerder gedefinieerde gebeurtenis-handler:

VBA-code 2: Slechts één selectievakje per keer selecteren

Dim xCollection As New Collection
Public Sub ClsChk_Init()
Dim xSht As Worksheet
Dim xObj As Object
Dim xChk As ClsChk
   Set xSht = ActiveSheet
   Set xCollection = Nothing
    For Each xObj In xSht.OLEObjects
        If xObj.Name Like "CheckBox**" Then
            Set xChk = New ClsChk
            Set xChk.Chk = CallByName(xSht, xObj.Name, VbGet)
            xCollection.Add xChk
        End If
    Next
    Set xChk = Nothing
End Sub

6. Druk op F5 om de code uit te voeren, waarmee de één-keuze-logica voor uw selectievakjegroep wordt geactiveerd. Test het gedrag door een van de vakjes aan te vinken; alle andere vakjes worden dan onmiddellijk uitgevinkt en uitgeschakeld. Wanneer u uw huidige selectie uitzet, worden alle selectievakjes weer ingeschakeld, zodat u een andere keuze kunt maken.

Een schermafbeelding van selectievakjes in Excel waarvan er na uitvoering van VBA-code slechts één tegelijkertijd is ingeschakeld

Opmerking: Als u selectievakjes aan uw groep toevoegt of verwijdert, moet u de initialisatie-VBA opnieuw uitvoeren. Dat komt omdat de gebeurtenis-handlers bij elke uitvoering van de code opnieuw worden ingesteld, zodat eventuele wijzigingen in de besturingselementengroep correct worden herkend door uw VBA.

Deze methode biedt volledige automatisering—gebruikers kunnen per ongeluk geen meerdere opties selecteren. Het werkt echter alleen met ActiveX-besturingselementen, wat beperkingen kan opleveren afhankelijk van de Excel-versie, en vereist dat macro’s zijn ingeschakeld. Daarnaast kan het delen van werkmappen met ActiveX-besturingselementen of macro’s extra beveiligingsmachtigingen vergen bij andere gebruikers.


Gerelateerde artikelen:

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