एक्सेल में चेकबॉक्स के समूह में केवल एक चेकबॉक्स को कैसे चयनित किया जाए?
जैसा कि नीचे दिए गए स्क्रीनशॉट में दिखाया गया है, पंक्ति 2 में सूचीबद्ध चेकबॉक्स के समूह के लिए, केवल एक चेकबॉक्स का चयन या जांच करते समय, अन्य चेकबॉक्स अक्षम कर दिए जाएंगे। उसकी प्राप्ति कैसे हो? इस आलेख में दिया गया VBA कोड आपकी सहायता कर सकता है.
VBA कोड के साथ चयन करने के लिए केवल एक चेकबॉक्स बनाएं
VBA कोड के साथ चयन करने के लिए केवल एक चेकबॉक्स बनाएं
आप प्रति समय चेकबॉक्स समूह में केवल एक चेकबॉक्स का चयन करने के लिए नीचे दिए गए VBA कोड चला सकते हैं। कृपया निम्नानुसार करें.
1. सबसे पहले, कृपया अपनी आवश्यकतानुसार चेकबॉक्स डालें। यहां, आपको सम्मिलित करना चाहिए ActiveX नियंत्रण चेक बॉक्स जैसा कि निम्नलिखित स्क्रीनशॉट में दिखाया गया है:
2. फिर दबाएं ऑल्ट + F11 कुंजी को एक साथ खोलने के लिए अनुप्रयोगों के लिए माइक्रोसॉफ्ट विज़ुअल बेसिक खिड़की.
3. उद्घाटन में अनुप्रयोगों के लिए माइक्रोसॉफ्ट विज़ुअल बेसिक खिड़की, क्लिक करें सम्मिलित करें > कक्षा का मॉड्यूल.
4. कक्षा का नाम बदलें सी.एल.एस.सी.एच.के में (नाम) का डिब्बा गुण फलक, और फिर नीचे दिए गए VBA कोड को कॉपी और पेस्ट करें कोड खिड़की। स्क्रीनशॉट देखें:
वीबीए कोड 1: प्रति बार केवल एक चेकबॉक्स चुनें
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. अब क्लिक करें सम्मिलित करें > मॉड्यूल, फिर नीचे दिए गए VBA कोड को कॉपी और पेस्ट करें मॉड्यूल खिड़की.
वीबीए कोड 2: प्रति बार केवल एक चेकबॉक्स चुनें
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। दबाएं F5 कोड चलाने की कुंजी.
अब से, वर्कशीट में किसी एक चेकबॉक्स को चेक करते समय, अन्य चेकबॉक्स स्वचालित रूप से अक्षम हो जाएंगे, और आप सभी चेकबॉक्स को फिर से सक्रिय करने के लिए इसे अनचेक कर सकते हैं।
नोट: यदि चेकबॉक्स समूह में नया चेकबॉक्स जोड़ा जाता है, तो कृपया सभी चेकबॉक्स को फिर से सक्रिय करने के लिए VBA कोड को फिर से चलाएँ। चेकबॉक्स समूह से चेकबॉक्स को हटाने के लिए कोड को भी फिर से चलाने की आवश्यकता है।
Rउत्साहित लेख:
- एक्सेल में चेकबॉक्स के आधार पर डेटा कैसे फ़िल्टर करें?
- Excel में पंक्ति छुपी होने पर चेकबॉक्स कैसे छिपाएँ?
- Excel में चेकबॉक्स के साथ सेल या पंक्ति को कैसे हाइलाइट करें?
- एक्सेल में एकाधिक चेकबॉक्स के साथ ड्रॉप डाउन सूची कैसे बनाएं?
- एक्सेल में चेकबॉक्स पर टिक लगाने पर सेल में डेट स्टैम्प कैसे डालें?
सर्वोत्तम कार्यालय उत्पादकता उपकरण
एक्सेल के लिए कुटूल के साथ अपने एक्सेल कौशल को सुपरचार्ज करें, और पहले जैसी दक्षता का अनुभव करें। एक्सेल के लिए कुटूल उत्पादकता बढ़ाने और समय बचाने के लिए 300 से अधिक उन्नत सुविधाएँ प्रदान करता है। वह सुविधा प्राप्त करने के लिए यहां क्लिक करें जिसकी आपको सबसे अधिक आवश्यकता है...
ऑफिस टैब ऑफिस में टैब्ड इंटरफ़ेस लाता है, और आपके काम को बहुत आसान बनाता है
- Word, Excel, PowerPoint में टैब्ड संपादन और रीडिंग सक्षम करें, प्रकाशक, एक्सेस, विसियो और प्रोजेक्ट।
- नई विंडो के बजाय एक ही विंडो के नए टैब में एकाधिक दस्तावेज़ खोलें और बनाएं।
- आपकी उत्पादकता 50% बढ़ जाती है, और आपके लिए हर दिन सैकड़ों माउस क्लिक कम हो जाते हैं!