
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Only Make One Checkbox Selected in a Group of Checkboxes in Excel
In Excel, checkboxes are a handy way for users to choose from a list of options. However, there are times when you wish to limit the selection of a collection of checkboxes to just one checkbox at a time. When designing forms, surveys, or other situations where mutually exclusive choices must be made, this can be especially helpful.
In this tutorial, we'll look at how to use Excel to enforce a single checkbox selection. By the end of this course, you will be able to confidently apply the approaches to build groups of checkboxes where only one checkbox can be selected at a time, regardless of your level of familiarity with Excel. So, let's get started and discover how to simplify the choosing process by becoming an Excel checkbox selection limitation master!
Only Make One Checkbox to be Selected in a Group of Checkboxes
Here we will first create a class module, then create a VBA module, and then run it to complete the task. So let us see a simple process to know how you can only make one checkbox be selected in a group of checkboxes in Excel.
Step 1
Consider an Excel sheet where you have multiple check boxes.
First, right-click on the sheet name and select View code to open the VBA application.
Right Click > View Code.
Step 2
Then click on Insert and select Class Module, then copy the below code into the text box.
Insert > Class Module > Copy.
Code
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
Step 3
Then change the class name to ClsChk.
Step 4
Then again, click on Insert, select Module, and copy the below code to the text box.
Insert > Module > Copy.
Code
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
Step 5
Then click F5 to run the module. Then you will see that only one checkbox can be checked once.
Conclusion
In this tutorial, we have used a simple example to demonstrate how you can only select one checkbox in a group of checkboxes in Excel to highlight a particular set of data.