परिस्थितियों के आधार पर आपको ड्रॉप-डाउन सूची में एकाधिक मानों का चयन करने की आवश्यकता हो सकती है। इस ट्यूटोरियल में, हम आपको दिखाएंगे कि ड्रॉप-डाउन सूची में एकाधिक चयन कैसे करें। इस सत्र के लिए, हम एक्सेल 2019 का उपयोग कर रहे हैं, बेझिझक अपने पसंदीदा संस्करण का उपयोग करें।
सत्र में गोता लगाने से पहले, आइए उस डेटासेट के बारे में जानें जो हमारे उदाहरणों का आधार है।
यहां हमारे पास कई स्टेशनरी तत्व हैं, इनका उपयोग करके हम एक ड्रॉप-डाउन सूची बनाएंगे और वहां कई वस्तुओं का चयन करेंगे।
ध्यान दें कि चीजों को सीधा रखने के लिए यह एक साधारण डेटासेट है। व्यावहारिक परिदृश्य में, आपका सामना बहुत बड़े और जटिल डेटासेट से हो सकता है।
कार्यपुस्तिका का अभ्यास करें
नीचे दिए गए लिंक से अभ्यास कार्यपुस्तिका डाउनलोड करने के लिए आपका स्वागत है।
ड्रॉप-डाउन सूची में एकाधिक चयन
सबसे पहले, हमें अपनी स्टेशनरी के आधार पर एक ड्रॉप-डाउन सूची बनानी होगी। आइए इसे जल्दी से बनाएं। ड्रॉप-डाउन सूची बनाने के संबंध में लेख पर जाने में संकोच न करें।
डेटा सत्यापन . में संवाद बॉक्स सूची का चयन करें डेटा टाइप करें और आइटम्स की सेल रेंज डालें।
B4:B11 वह श्रेणी है जो स्टेशनरी तत्वों को धारण करती है। अब आपको ड्रॉप-डाउन सूची मिलेगी।
और पढ़ें: चयन के आधार पर एक्सेल ड्रॉप डाउन सूची
<एच3>1. एकाधिक आइटम चुनें (डुप्लिकेट चयन की अनुमति देता है)एक पारंपरिक ड्रॉप-डाउन सूची हमेशा एक ही आइटम का चयन करती है। यहां आप देख सकते हैं, हमने पेन . चुना है सूची से (नीचे चित्र)।
अब, यदि हम कोई अन्य आइटम चुनते हैं, तो मान लें कि पेंसिल
तो यह पिछले मान को बदल देगा। केवल पेंसिल चयनित रहेगा।
अनेक मदों का चयन करने के लिए, हमें VBA . का उपयोग करने की आवश्यकता है कोड। अनुप्रयोगों के लिए Microsoft Visual Basic खोलें विंडो (ALT + F11 दबाएं) इसे खोलने के लिए)।
अब वर्कशीट के नाम या नंबर पर डबल क्लिक करें जहां आप ड्रॉप-डाउन सूची में कई आइटम चुनना चाहते हैं। आपको उस विशेष शीट के लिए कोड विंडो मिल जाएगी।
यहाँ, Sheet2 . के लिए कोड विंडो है हमारी कार्यपुस्तिका में (हमारे पास इस पत्रक में ड्रॉप-डाउन सूची है)।
एक बार कोड विंडो खुलने के बाद, वहां निम्न कोड डालें
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Oldvalue As String
Dim Newvalue As String
On Error GoTo Exitsub
If Target.Address = "$D$4" Then
If Target.SpecialCells(xlCellTypeAllValidation) Is Nothing Then
GoTo Exitsub
Else: If Target.Value = "" Then GoTo Exitsub Else
Application.EnableEvents = False
Newvalue = Target.Value
Application.Undo
Oldvalue = Target.Value
If Oldvalue = "" Then
Target.Value = Newvalue
Else
Target.Value = Oldvalue & ", " & Newvalue
End If
End If
End If
Application.EnableEvents = True
Exitsub:
Application.EnableEvents = True
End Sub
कोड सहेजें, और अब ड्रॉप-डाउन सूची में मानों का चयन करने का प्रयास करें।
पेंसिल का चयन करने के बाद , हम एक अन्य आइटम का चयन करने जा रहे हैं नोटबुक . और आप देख सकते हैं, हमें दोनों आइटम मिले (नीचे चित्र)।
यह कोड हमें चयन को दोहराने की अनुमति देगा। मान लें कि अगर हम पेंसिल . चुनते हैं फिर से,
हम आइटम को फिर से चयन बॉक्स में पाएंगे।
कोड स्पष्टीकरण
हमने दो तार घोषित किए हैं Oldvalue और न्यूवैल्यू ।
आप देख सकते हैं कि हमने D4 . में ड्रॉप-डाउन सूची बनाई है सेल, इसलिए हमारा लक्ष्य पता D4 . है . और इसके अलावा, हमने फिर से जांच की है कि सेल डेटा सत्यापन का उपयोग कर रहा है या नहीं Target.SpecialCells का उपयोग कर रहा है। ।
एक बार मान चुनने के बाद, हमने ईवेंट बंद कर दिए (Application.EnableEvents = False
) इसलिए परिवर्तन फिर से घटना को ट्रिगर नहीं करते हैं। फिर चयनित आइटम को Newvalue . में संग्रहीत किया ।
परिवर्तन को पूर्ववत करने के बाद, हमने मान को Oldvalue . में सेट कर दिया है . फिर जांचें कि क्या पुराना मूल्य खाली है या नहीं। यदि खाली है (मतलब केवल एक मान चुना गया है), तो Newvalue . लौटाएं . अन्यथा, पुराने मान को संयोजित करें और न्यूवैल्यू ।
रीसेट समाप्त करने से पहले ईवेंट को रीसेट करें, ताकि आवश्यकता पड़ने पर हम इसे बदल सकें।
और पढ़ें: एकाधिक निर्भर ड्रॉप-डाउन सूची एक्सेल VBA
<एच3>2. ड्रॉप डाउन सूची से एकाधिक आइटम चुनें (केवल अद्वितीय चयन)पिछले खंड में, हमने कई चयन देखे हैं जहां दोहराव की अनुमति थी। यदि आप ऐसा नहीं चाहते हैं, तो इस अनुभाग का अनुसरण करें।
सुविधा के लिए, हमने इस प्रदर्शन के लिए एक अलग शीट का इस्तेमाल किया। इस बार हम शीट3 पर हैं। इस शीट के लिए कोड विंडो में निम्नलिखित कोड लिखें।
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Oldvalue As String
Dim Newvalue As String
Application.EnableEvents = True
On Error GoTo Exitsub
If Target.Address = "$D$4" Then
If Target.SpecialCells(xlCellTypeAllValidation) Is Nothing Then
GoTo Exitsub
Else: If Target.Value = "" Then GoTo Exitsub Else
Application.EnableEvents = False
Newvalue = Target.Value
Application.Undo
Oldvalue = Target.Value
If Oldvalue = "" Then
Target.Value = Newvalue
Else
If InStr(1, Oldvalue, Newvalue) = 0 Then
Target.Value = Oldvalue & ", " & Newvalue
Else:
Target.Value = Oldvalue
End If
End If
End If
End If
Application.EnableEvents = True
Exitsub:
Application.EnableEvents = True
End Sub
क्या पहले के कोड की तुलना में कोई अंतर है! करीब से देखें, आप थोड़ा अंतर देख पाएंगे।
यहां हमने एक VBA . का उपयोग किया है INSTR . नामक फ़ंक्शन . INSTR फ़ंक्शन स्ट्रिंग में सबस्ट्रिंग की पहली घटना की स्थिति देता है। अधिक जानकारी के लिए इस INSTR लेख पर जाएँ।
InStr(1, Oldvalue, Newvalue) =0 के साथ इस तार्किक संचालन का उपयोग करते हुए, हमने जाँच की है कि मान पाए गए हैं या नहीं। यदि तार्किक कार्रवाई सत्य returns लौटाती है (पहले नहीं मिला) तो यह आइटम का चयन करने और पहले के मूल्य के साथ जुड़ने की अनुमति देता है।
कोड सहेजें और अब उस आइटम को चुनने का प्रयास करें जिसे पहले ही चुना जा चुका है।
यहां हमने पहले ही पेंसिल . का चयन कर लिया है , अगर हम उसे फिर से चुनना चाहते हैं, तो हम नहीं कर सकते। यह डुप्लिकेट मानों की अनुमति नहीं देता है।
और पढ़ें: एक्सेल में किसी अन्य शीट से ड्रॉप डाउन सूची कैसे बनाएं
<एच3>3. न्यूलाइन में आइटम चुनेंअब तक, हमने पाया है कि वस्तुओं को अल्पविराम द्वारा अलग किया जाता है। इस खंड में, हम चयनित वस्तुओं को नई पंक्तियों में व्यवस्थित करेंगे।
सरलता के लिए, हम कुछ सेल को D4 . के साथ मर्ज कर रहे हैं कक्ष। ऐसा करने के लिए, उन कक्षों का चयन करें जिन्हें आप मर्ज करना चाहते हैं और मर्ज और केंद्र click पर क्लिक करें संरेखण . से होम . का अनुभाग टैब।
सेल अधिक ऊंचाई हासिल करेगा।
अब, आइए न्यूलाइन के माध्यम से आइटम्स को अलग करने के लिए कोड देखें। निम्नलिखित कोड का प्रयोग करें
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Oldvalue As String
Dim Newvalue As String
Application.EnableEvents = True
On Error GoTo Exitsub
If Target.Address = "$D$4" Then
If Target.SpecialCells(xlCellTypeAllValidation) Is Nothing Then
GoTo Exitsub
Else: If Target.Value = "" Then GoTo Exitsub Else
Application.EnableEvents = False
Newvalue = Target.Value
Application.Undo
Oldvalue = Target.Value
If Oldvalue = "" Then
Target.Value = Newvalue
Else
If InStr(1, Oldvalue, Newvalue) = 0 Then
Target.Value = Oldvalue & vbNewLine & Newvalue
Else:
Target.Value = Oldvalue
End If
End If
End If
End If
Application.EnableEvents = True
Exitsub:
Application.EnableEvents = True
End Sub
पिछले कोड से एकमात्र अंतर यह है कि इस बार हमने vbNewLine . का उपयोग किया है OldValue . के बीच में और NewValue ।
vbNewLine आइटम के बीच एक नई लाइन प्रदान करता है।
अब आइटम चुनें।
हम एक आइटम का चयन करते हैं पेन जो ऊपर इमेज में दिख रहा है। अब कोई अन्य तत्व चुनें।
आप पाएंगे कि दो आइटम अलग-अलग पंक्तियों में हैं।
यहां हमारे पास दो मान हैं, जो दो अलग-अलग पंक्तियों में हैं। किसी अन्य मान का चयन करने से वह दूसरी पंक्ति में जुड़ जाएगा। प्रत्येक मान एक नई पंक्ति में होगा।
ध्यान दें कि यदि आप चाहते हैं कि कोई अन्य सीमांकक आइटम को अलग करे, तो vbNewline के स्थान पर दोहरे उद्धरण चिह्नों के भीतर उसका उपयोग करें ।
निष्कर्ष
आज के लिए इतना ही। हमने ड्रॉप-डाउन सूची में एकाधिक चयन करने के लिए कई दृष्टिकोण सूचीबद्ध किए हैं। आशा है कि आपको यह मददगार लगेगा। अगर कुछ समझने में मुश्किल लगे तो बेझिझक कमेंट करें। आइए जानते हैं कोई और तरीका जो हमने यहां नहीं छोड़ा है।
आगे की रीडिंग
- एक्सेल में एकाधिक कॉलम में ड्रॉप डाउन सूची कैसे बनाएं (3 तरीके)
- सेल वैल्यू को एक्सेल में ड्रॉप डाउन लिस्ट से लिंक करें (5 तरीके)
- एक्सेल में सशर्त ड्रॉप डाउन सूची (बनाएं, क्रमबद्ध करें और उपयोग करें)
- एक्सेल में डायनामिक डिपेंडेंट ड्रॉप डाउन लिस्ट बनाएं
- Excel में ड्रॉप-डाउन सूची बनाने के लिए IF स्टेटमेंट का उपयोग कैसे करें
- एक्सेल में ड्रॉप डाउन सूची के साथ VLOOKUP