Note: The other languages of the website are Google-translated. Back to English

Hoe kan ik een ander selectievakje uitschakelen wanneer een selectievakje is aangevinkt in Excel?

Stel dat er een inkooplijst is die door u moet worden voltooid, zoals weergegeven in het onderstaande gif. Terwijl u de lijst controleert, merkt u dat de aangevinkte items in sommige categorieën het budget overschrijden en opnieuw moeten selecteren. Omdat de lijst te lang is, heb je nu een efficiëntere manier nodig om het oorspronkelijk aangevinkte selectievakje automatisch uit te schakelen wanneer een nieuw selectievakje in een categorie wordt aangevinkt. Deze zelfstudie demonstreert de methode stap voor stap om u te helpen dit voor elkaar te krijgen.

Schakel een ander selectievakje uit wanneer een nieuw selectievakje is aangevinkt met VBA-code


Schakel een ander selectievakje uit wanneer een nieuw selectievakje is aangevinkt met VBA-code

Zoals getoond in de bovenstaande demo, tien selectievakjes genaamd Selectievakje1, Selectievakje2, Selectievakje3, ..., Selectievakje10 zijn onderverdeeld in 3 groepen en bevinden zich in verschillende categorieën in de tabel.

In dit voorbeeld bevinden Checkbox1, 2, 3 zich in één groep, Checkbox4, 5, 6, 7 bevinden zich in één groep en Checkbox8, 9,10 bevinden zich in dezelfde groep. In elke groep mag slechts één selectievakje tegelijk worden aangevinkt. Wanneer een selectievakje is aangevinkt, wordt automatisch een ander selectievakje uitgeschakeld.

Laten we nu eens kijken hoe we de volgende VBA-code kunnen toepassen om dit probleem op te lossen.

1. Klik met de rechtermuisknop op de bladtab en klik op Bekijk code vanuit het contextmenu.

2. In het geopende Microsoft Visual Basic voor toepassingen venster, plak de volgende VBA-code in de Blad (Code) venster.

VBA-code: schakel een ander selectievakje uit wanneer een nieuw selectievakje is 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, Selectievakje1, Selectievakje2, ..., Selectievakje10 zijn de naam 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. Als u meer selectievakjes wilt toevoegen, plaatst u de selectievakjes tussen nieuwe dubbele aanhalingstekens.
xAllArr = Array("CheckBox1,CheckBox2,CheckBox3", "CheckBox4,CheckBox5,CheckBox6,CheckBox7", "CheckBox8,CheckBox9,CheckBox10")
3) De selectievakjes zijn: Controle ActiveX checkboxes.

3. druk de anders + Q toetsen om de Microsoft Visual Basic voor toepassingen venster.

Wanneer u vervolgens een nieuw selectievakje in een groep aanvinkt, wordt het origineel aangevinkte automatisch uitgeschakeld, zoals weergegeven in de onderstaande gif.


Demo: Schakel een ander selectievakje uit wanneer een selectievakje is aangevinkt in Excel

  Kutools for Excel bevat meer dan 300 krachtige functies voor Microsoft Excel. Gratis te proberen zonder beperking 30 dagen. Download nu!


De beste tools voor kantoorproductiviteit

Kutools voor Excel lost de meeste van uw problemen op en verhoogt uw productiviteit met 80%

  • visfuik: Snel invoegen complexe formules, grafieken en alles wat je eerder hebt gebruikt; Versleutel cellen met wachtwoord; Maak een mailinglijst en stuur e-mails ...
  • Super Formula-balk (bewerk eenvoudig meerdere regels tekst en formule); Lay-out lezen (gemakkelijk grote aantallen cellen lezen en bewerken); Plakken in gefilterd bereik...
  • Voeg cellen / rijen / kolommen samen zonder gegevens te verliezen; Gespleten cellen inhoud; Combineer dubbele rijen / kolommen... Voorkom dubbele cellen; Vergelijk Ranges...
  • Selecteer Dupliceren of Uniek Rijen; Selecteer lege rijen (alle cellen zijn leeg); Super zoeken en fuzzy zoeken in veel werkboeken; Willekeurige selectie ...
  • Exacte kopie Meerdere cellen zonder de formuleverwijzing te wijzigen; Maak automatisch verwijzingen naar meerdere bladen; Plaats kogels, Selectievakjes en meer ...
  • Extraheer tekst, Tekst toevoegen, Verwijderen op positie, Ruimte verwijderen; Paging-subtotalen maken en afdrukken; Converteren tussen celinhoud en opmerkingen...
  • Super filter (bewaar en pas filterschema's toe op andere bladen); Geavanceerd sorteren per maand / week / dag, frequentie en meer; Speciaal filter door vet, cursief ...
  • Combineer werkmappen en werkbladen; Tabellen samenvoegen op basis van sleutelkolommen; Gegevens splitsen in meerdere bladen; Batch Converteer xls, xlsx en PDF...
  • Meer dan 300 krachtige functies. Ondersteunt Office / Excel 2007-2021 en 365. Ondersteunt alle talen. Eenvoudig te implementeren in uw onderneming of organisatie. Volledige functies Gratis proefperiode van 30 dagen. 60 dagen geld-terug-garantie.
kte tabblad 201905

Office-tabblad Brengt een interface met tabbladen naar Office en maakt uw werk veel gemakkelijker

  • Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in, Publisher, Access, Visio en Project.
  • Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster in plaats van in nieuwe vensters.
  • Verhoogt uw productiviteit met 50% en vermindert honderden muisklikken voor u elke dag!
officetab onderkant
Heb je vragen? Stel ze hier. (0)
Nog geen beoordelingen. Beoordeel als eerste!
Er zijn nog geen reacties geplaatst
Laat uw commentaar
Posten als gast
×
Beoordeel dit bericht:
0   Personages
Voorgestelde locaties

Volg ons

Copyright © 2009 - www.extendoffice.com. | Alle rechten voorbehouden. Aangedreven door ExtendOffice. | Sitemap
Microsoft en het Office-logo zijn handelsmerken of gedeponeerde handelsmerken van Microsoft Corporation in de Verenigde Staten en / of andere landen.
Beschermd door Sectigo SSL