Computer >> कंप्यूटर >  >> सॉफ्टवेयर >> Office

एकाधिक निर्भर ड्रॉप-डाउन सूची एक्सेल VBA (3 तरीके)

एमएस एक्सेल में मल्टीपल डिपेंडेंट ड्रॉप-डाउन बनाना हमेशा से एक चुनौती रही है। दो ड्रॉप-डाउन सूचियों के बीच निर्भरता या संबंध होने पर हमें इस तरह की ड्रॉप-डाउन सूची की आवश्यकता होती है। हम आम तौर पर इसे विभिन्न फ़ार्मुलों . का उपयोग करके बनाते हैं या एक्सेल में उपयुक्त विकल्प बदलना। हालाँकि, एक्सेल VBA कोड का उपयोग करके कई ड्रॉप-डाउन सूचियाँ बनाने के कुछ आसान तरीके हैं। इस लेख में, मैं एक्सेल में वीबीए कोड का उपयोग करके कई ड्रॉप-डाउन सूचियां बनाने के विभिन्न तरीके दिखाऊंगा।

और पढ़ें: एक्सेल (स्वतंत्र और आश्रित) में ड्रॉप डाउन सूची कैसे बनाएं

एक्सेल में डिपेंडेंट ड्रॉप-डाउन सूचियां क्या हैं?

मुख्य प्रक्रिया में जाने से पहले आइए जानें कि एक्सेल में एक आश्रित ड्रॉप-डाउन सूची क्या है। जब दो या दो से अधिक ड्रॉप-डाउन सूचियों के बीच निर्भरता होती है तो हम उन्हें एक्सेल में आश्रित ड्रॉप-डाउन सूचियां कहते हैं। नीचे दी गई तस्वीर निर्भर ड्रॉप-डाउन सूची के बारे में एक स्पष्ट अवधारणा का प्रतिनिधित्व करती है।

एकाधिक निर्भर ड्रॉप-डाउन सूची एक्सेल VBA (3 तरीके) एकाधिक निर्भर ड्रॉप-डाउन सूची एक्सेल VBA (3 तरीके)

जैसा कि हम यहां देख सकते हैं कि दो ड्रॉप-डाउन सूचियां श्रेणी और भोजन पूरी तरह से दो निर्भर ड्रॉप-डाउन सूचियां हैं। श्रेणी चयन के आधार पर हम यहां भोजन की सूची को परिभाषित करते हैं। इस प्रकार, एकाधिक कैस्केडिंग ड्रॉप-डाउन सूचियां कैसे काम करती हैं।

और पढ़ें: एक्सेल में डायनामिक डिपेंडेंट ड्रॉप डाउन लिस्ट कैसे बनाएं

एकाधिक निर्भर ड्रॉप-डाउन सूची एक्सेल VBA बनाने के 3 तरीके

1. Excel VBA में ड्रॉप-डाउन सूची में एकाधिक चयन कैसे करें

मान लें कि हमारे पास प्रोजेक्ट नाम और प्रोजेक्ट सदस्य नाम की दो सूचियां हैं। प्रत्येक प्रोजेक्ट के लिए, हम ड्रॉप-डाउन सूची का उपयोग करके एक या एकाधिक सदस्यों को असाइन करेंगे।

एकाधिक निर्भर ड्रॉप-डाउन सूची एक्सेल VBA (3 तरीके)

चरण 1: डेवलपर . पर जाएं टैब खोलें और विजुअल बेसिक खोलें (शॉर्टकट Alt + F11 )

एकाधिक निर्भर ड्रॉप-डाउन सूची एक्सेल VBA (3 तरीके)

चरण 2: संबंधित VBAProject मेनू से संबंधित वर्कशीट पर जाएं।

चरण 3: अब VBA कंसोल में निम्न कोड लिखें

एकाधिक निर्भर ड्रॉप-डाउन सूची एक्सेल VBA (3 तरीके)

कोड:

Private Sub Worksheet_Change(ByVal Target As Range)
 Dim Old_value As String
 Dim New_value As String
 Application.EnableEvents = True
 On Error GoTo Exitsub
 If Not Intersect(Target, Range("C4:C11")) Is Nothing Then
 If Target.SpecialCells(xlCellTypeAllValidation) Is Nothing Then
 GoTo Exitsub
 Else: If Target.Value = "" Then GoTo Exitsub Else
 Application.EnableEvents = False
 New_value = Target.Value
 Application.Undo
 Old_value = Target.Value
 If Old_value = "" Then
 Target.Value = New_value
 Else
 If InStr(1, Old_value, New_value) = 0 Then
 Target.Value = Old_value & ", " & New_value
 Else:
 Target.Value = Old_value
 End If
 End If
 End If
 End If
 Application.EnableEvents = True
Exitsub:
 Application.EnableEvents = True
End Sub

चरण 4: अब प्रोजेक्ट सदस्य कॉलम में एक से अधिक नामों का चयन करें

एकाधिक निर्भर ड्रॉप-डाउन सूची एक्सेल VBA (3 तरीके)

चरण 5: सभी सेल ड्रॉप-डाउन सूची से कई चयन कर सकते हैं

एकाधिक निर्भर ड्रॉप-डाउन सूची एक्सेल VBA (3 तरीके)

और पढ़ें: एक्सेल में ड्रॉप डाउन सूची से एकाधिक चयन कैसे करें

2. एक्सेल वीबीए में एकाधिक निर्भर ड्रॉप-डाउन सूची बनाएं

आइए सब्जियों, फलों और डेयरी उत्पादों जैसे विभिन्न श्रेणी के खाद्य पदार्थों का एक डेटासेट रखें। अब हम खाद्य पदार्थों को उनकी श्रेणी के अनुसार खोजना चाहते हैं। जैसे अगर हम फलों के रूप में श्रेणी चुनते हैं तो खाद्य कॉलम में उपलब्ध वस्तुएं रास्पबेरी, खुबानी, आड़ू, आम होनी चाहिए। इसलिए खाने की चीजें कैटेगरी के हिसाब से ही उपलब्ध होनी चाहिए। श्रेणी और भोजन के बीच एक निर्भरता है।

एकाधिक निर्भर ड्रॉप-डाउन सूची एक्सेल VBA (3 तरीके)

चरण 1: विधि 1 के समान चरणों का पालन करके VBA कंसोल खोलें (चरण 1 और चरण 2 ) फिर निम्नलिखित कोड लिखें

एकाधिक निर्भर ड्रॉप-डाउन सूची एक्सेल VBA (3 तरीके)

कोड:

सब्जी ड्रॉप-डाउन सूची बनाने के लिए:

Sub Vegetable_List()
 
 Range("C4:C6").Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
 Formula1:="=Vegetable_List"
 
End Sub

फल ड्रॉप-डाउन सूची बनाने के लिए:

Sub Fruit_List()
 
 Range("C4:C6").Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
 Formula1:="=Fruits_list"
 
End Sub

डेयरी उत्पाद ड्रॉप-डाउन सूची बनाने के लिए:

Sub Dairy_List()
 
 Range("C4:C6").Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
 Formula1:="=Dairy_Product_List"
 
End Sub

इस भाग में, हम अलग-अलग खाद्य पदार्थों की सूची बना रहे हैं और उन्हें ड्रॉप-डाउन सूची में सहेज रहे हैं। यह सूची C4:C6 . में उपलब्ध होगी रेंज।

चरण 2: अब हमें रेंज के लिए मुख्य फंक्शन लिखने की जरूरत है B4:B6

एकाधिक निर्भर ड्रॉप-डाउन सूची एक्सेल VBA (3 तरीके)

कोड:

Private Sub Worksheet_Change(ByVal Target As Range)
 Range("B4:B6").Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
 Formula1:="Vegetable_List,Fruits_list,Dairy_Product_List"
 If Range("B4:B6").Value = "Vegetable_List" Then
 Call Vegetable_List
 ElseIf Range("B4:B6").Value = "Fruits_list" Then
 Call Fruit_List
 ElseIf Range("B4:B6").Value = "Dairy_Product_List" Then
 Call Dairy_List
 Else
 End If

कोड स्पष्टीकरण

  • यहां हम B4:B6 . में श्रेणी के लिए नामित एक और सूची बना रहे हैं श्रेणी, जिसमें खाद्य श्रेणी के नाम शामिल होंगे।
  • फिर सूची के मूल्यों की जाँच कर रहे हैं और उन्हें उनके आइटम के अनुसार वर्गीकृत कर रहे हैं। इसके लिए अगर और है कथन का प्रयोग किया जाता है।
  • अगर हमें कोई मेल खाता हुआ नाम मिलता है, तो हमने कॉलबैक विधि का उपयोग करके सूची बनाने वाले फ़ंक्शन को कॉल किया। पसंद करें

 अगर रेंज(“B4:B6”).Value =“Vegetable_List” तब

                       वेजिटेबल_लिस्ट को कॉल करें

  • यहां अगर सेल के मान Vegetable_List . से मेल खाते हैं पाठ, फिर हम Vegetable_List . को कॉल करेंगे सब्जी सूची बनाने और दिखाने के लिए कार्य।

तो, हमारा पूरा कोड इस तरह होगा:

एकाधिक निर्भर ड्रॉप-डाउन सूची एक्सेल VBA (3 तरीके)

चरण 3: अब वर्कशीट पर जाएं और ड्रॉप-डाउन सूची से किसी भी श्रेणी का चयन करें

एकाधिक निर्भर ड्रॉप-डाउन सूची एक्सेल VBA (3 तरीके)

चरण 4: फिर संबंधित आइटम फ़ूड कॉलम पर उपलब्ध होंगे

एकाधिक निर्भर ड्रॉप-डाउन सूची एक्सेल VBA (3 तरीके)

चरण 5: अंतिम आउटपुट इस तरह होगा:

एकाधिक निर्भर ड्रॉप-डाउन सूची एक्सेल VBA (3 तरीके)

3. एक्सेल VBA में एकाधिक आश्रित ड्रॉप-डाउन सूची को साफ़ करना

पिछले खंड में, हमने केवल यह देखा है कि हम एक्सेल में संबंधित मिलान सूची कैसे प्राप्त कर सकते हैं। लेकिन कभी-कभी कुछ बेमेल चयन हो सकते हैं जो स्वचालित रूप से नहीं हटाए जाएंगे। हम इस तरह की समस्या को रोकने के लिए फॉर्मूला तैयार कर सकते हैं।

पहला ड्रॉपडाउन में चयन करने के बाद, आश्रित सेल को साफ़ करने के लिए मैक्रो का उपयोग करना एक अन्य विकल्प है। यह बेमेल चयनों को रोकेगा।

एकाधिक निर्भर ड्रॉप-डाउन सूची एक्सेल VBA (3 तरीके)

चरण 1: विधि 1 के समान चरणों का पालन करके VBA कंसोल खोलें (चरण 1 और चरण 2 ) फिर निम्नलिखित कोड लिखें

एकाधिक निर्भर ड्रॉप-डाउन सूची एक्सेल VBA (3 तरीके)

कोड:

Private Sub Worksheet_Change(ByVal Target As Range)
 On Error Resume Next
If Target.Column = 2 Then
 If Target.Validation.Type = 3 Then
 Application.EnableEvents = False
 Target.Offset(0, 1).ClearContents
 End If
End If

exitHandler:
 Application.EnableEvents = True
 Exit Sub
End Sub

चरण 2: अब भोजन . में से कोई भी आइटम चुनें कॉलम और श्रेणी . से किसी भी भिन्न श्रेणी का चयन करने का प्रयास करें और देखें क्या होता है

पहले

एकाधिक निर्भर ड्रॉप-डाउन सूची एक्सेल VBA (3 तरीके)

दूसरा

एकाधिक निर्भर ड्रॉप-डाउन सूची एक्सेल VBA (3 तरीके)

अंतिम आउटपुट

एकाधिक निर्भर ड्रॉप-डाउन सूची एक्सेल VBA (3 तरीके)

और पढ़ें: एक्सेल में ड्रॉप-डाउन सूची कैसे निकालें

याद रखने योग्य बातें

सामान्य त्रुटियाँ जब वे दिखाई देते हैं
सूची को हटाने में असमर्थ डेटा सत्यापन में, यदि अनुमति दें सूची के बराबर नहीं है और स्रोत सही ढंग से नहीं चुना गया है तो ड्रॉप-डाउन सूची को हटाया नहीं जा सकता है, या आप सूची को हटाने के लिए वीबीए कोड का उपयोग करते हैं।
अपडेट वैल्यू प्रॉब्लम आम तौर पर, निर्भर ड्रॉप-डाउन सूचियों में, यदि कोई बेमेल मान है, तो यह स्वचालित रूप से अपडेट नहीं होगा। मान को स्वचालित रूप से अपडेट करने के लिए हम फॉर्मूला या वीबीए कोड (इस आलेख में विधि 3) का उपयोग कर सकते हैं।

निष्कर्ष

एक्सेल VBA कई आश्रित ड्रॉप-डाउन सूचियों को बनाने या उनमें हेरफेर करने के ये कुछ तरीके हैं। मैंने सभी विधियों को उनके संबंधित उदाहरणों के साथ दिखाया है लेकिन कई अन्य पुनरावृत्तियां भी हो सकती हैं। मैंने प्रयुक्त कार्यों के मूल सिद्धांतों पर भी चर्चा की है। यदि आपके पास इसे प्राप्त करने का कोई अन्य तरीका है, तो कृपया इसे बेझिझक हमारे साथ साझा करें।

आगे की रीडिंग

  • एक्सेल में एकाधिक कॉलम में ड्रॉप डाउन सूची कैसे बनाएं (3 तरीके)
  • चयन के आधार पर एक्सेल ड्रॉप डाउन सूची
  • Excel में ड्रॉप-डाउन सूची बनाने के लिए IF स्टेटमेंट का उपयोग कैसे करें
  • एक्सेल में किसी अन्य शीट से ड्रॉप डाउन सूची बनाएं (2 तरीके)
  • एक्सेल में ड्रॉप-डाउन सूची को कैसे संपादित करें (4 बुनियादी दृष्टिकोण)
  • एक्सेल में ड्रॉप डाउन सूची के साथ VLOOKUP

  1. Excel में एकाधिक कक्षों को हाइपरलिंक कैसे करें (3 तरीके)

    माइक्रोसॉफ्ट एक्सेल . में , हाइपरलिंक्स कुछ वेब पेजों के लिंक के रूप में उपयोग किया जाता है। यह किसी अन्य फ़ाइल, Excel . को लिंक करने का एक आसान टूल भी हो सकता है शीट, या सेल। हाइपरलिंक . क्लिक करके हम Excel . में आसानी से किसी अन्य स्थान पर जा सकते हैं . इस लेख में, हम देखेंगे Excel में एकाधिक कक

  1. एकाधिक एक्सेल फाइलों को CSV में कैसे बदलें (3 उपयुक्त तरीके)

    CSV . का पूर्ण रूप कॉमा सेपरेटेड वैल्यू है। यानी CSV . में t मान केवल अल्पविराम द्वारा अलग किए जाते हैं। यह डेटाबेस प्रबंधन में एक आवश्यक डेटा प्रारूप है। हम कई डेटा प्रबंधन परियोजनाओं में भी एक्सेल का उपयोग करते हैं। इसलिए इन दो प्रारूपों के बीच डेटा का आदान-प्रदान करना काफी सामान्य है। हालांकि हम

  1. Excel VBA:फुल स्क्रीन में यूजरफॉर्म दिखाएं (4 आसान तरीके)

    अक्सर उपयोगकर्ता प्रपत्र हम उत्पन्न करते हैं काफी बड़ा है और इसमें एक छोटी सी जगह में बहुत सारी जानकारी है। उन सभी को एक तंग जगह पर रखने से उपयोगकर्ता प्रपत्र . की स्पष्टता में बाधा आ सकती है . यदि आप यह जानने के लिए उत्सुक हैं कि आप उपयोगकर्ता प्रपत्र . कैसे दिखा सकते हैं एक्सेल में वीबीए का उपयोग