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

VBA का उपयोग करके एक्सेल ड्रॉप-डाउन सूची से मान चुनने के 2 सिद्ध तरीके

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

वर्कबुक डाउनलोड करें

आप यहां से मुफ्त अभ्यास एक्सेल वर्कबुक डाउनलोड कर सकते हैं।

एक्सेल में सामान्य सूची से ड्रॉपडाउन सूची बनाना

कोडिंग खंड में गोता लगाने से पहले, आइए एक्सेल में सामान्य सूची से ड्रॉपडाउन सूची बनाने का एक बहुत ही सरल तरीका सीखें। ताकि बाद में हम इस लेख के उदाहरण के रूप में बनाई गई ड्रॉपडाउन सूची का उपयोग कर सकें।

निम्नलिखित सामान्य सूची हमारे एक्सेल वर्कशीट में है। सूची में दोहराव वाले मान हैं (उदाहरण के लिए, सेल B7 और B9 में सेब)।

VBA का उपयोग करके एक्सेल ड्रॉप-डाउन सूची से मान चुनने के 2 सिद्ध तरीके

हम देखेंगे कि सामान्य सूची से मानों से युक्त ड्रॉपडाउन सूची कैसे बनाएं (उदाहरण के लिए, अंगूर, संतरा, सेब, आम, सेब)।

चरण:

  • सबसे पहले, किसी भी सेल पर क्लिक करें (हमारे मामले में सेल D4) जहां आप ड्रॉपडाउन सूची स्टोर करना चाहते हैं।
  • फिर, डेटा टैब पर क्लिक करें।
  • उसके बाद, रिबन के डेटा टूल्स समूह से डेटा वैलिडेशन चुनें।

VBA का उपयोग करके एक्सेल ड्रॉप-डाउन सूची से मान चुनने के 2 सिद्ध तरीके

  • एक डेटा वैलिडेशन पॉप-अप बॉक्स दिखाई देगा। वहां से,
    • अनुमति मानदंड में सूची चुनें।
    • स्रोत मानदंड में, वह रेंज खींचें (हमारे मामले में B5:B9) जिसमें ड्रॉपडाउन सूची के लिए मान हैं।

VBA का उपयोग करके एक्सेल ड्रॉप-डाउन सूची से मान चुनने के 2 सिद्ध तरीके

  • बाद में, ओके पर क्लिक करें।

निम्न छवि देखें।

VBA का उपयोग करके एक्सेल ड्रॉप-डाउन सूची से मान चुनने के 2 सिद्ध तरीके

सेल D4 में, एक बनाई गई ड्रॉपडाउन सूची है जो मानों को रखती है (उदाहरण के लिए, अंगूर, संतरा, सेब, आम, सेब) सामान्य सूची से पुनर्प्राप्त (रेंज B5:B9)।

एक्सेल में ड्रॉप डाउन सूची से मान चुनने के लिए VBA के साथ 2 विधियां

इस खंड में, आप सीखेंगे कि VBA के साथ एक्सेल में दोहराव और गैर-दोहराव वाले मानों दोनों के साथ ड्रॉपडाउन सूची से कई मान कैसे चुनें।

1. एक्सेल में ड्रॉप डाउन सूची से कई मान चुनने के लिए VBA एम्बेड करें (दोहराव वाले मानों के साथ)

हमारे डेटासेट में दोहराव वाले मान हैं। यदि आप चाहते हैं कि आपकी ड्रॉपडाउन सूची सभी मानों को पकड़े चाहे मान दोहरा हो या नहीं, तो नीचे दिए गए चरणों का पालन करें।

चरण:

  • शुरुआत में, अपने कीबोर्ड पर Alt + F11 दबाएं या डेवलपर -> विजुअल बेसिक टैब पर जाकर विजुअल बेसिक एडिटर खोलें।

VBA का उपयोग करके एक्सेल ड्रॉप-डाउन सूची से मान चुनने के 2 सिद्ध तरीके

  • अगला, उपयुक्त शीट नाम पर राइट-क्लिक करें और दिखाई देने वाली विकल्प सूची से व्यू कोड चुनें।

VBA का उपयोग करके एक्सेल ड्रॉप-डाउन सूची से मान चुनने के 2 सिद्ध तरीके

  • फिर, निम्नलिखित कोड कॉपी करें और कोड विंडो में पेस्ट करें।
Private Sub Worksheet_Change(ByVal Target As Range) Dim ValueA As String Dim ValueB 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 ValueB = Target.Value Application.Undo ValueA = Target.Value If ValueA = "" Then Target.Value = ValueB Else Target.Value = ValueA & ", " & ValueB End If End If End If Application.EnableEvents = True Exitsub: Application.EnableEvents = True End Sub

VBA का उपयोग करके एक्सेल ड्रॉप-डाउन सूची से मान चुनने के 2 सिद्ध तरीके

  • यह कोड न चलाएं, सेव करें।
  • अब रुचि की वर्कशीट पर वापस जाएं. यदि आप सेल D4 में बनाई गई ड्रॉपडाउन सूची पर क्लिक करते हैं, तो आप देखेंगे कि अब आप ड्रॉपडाउन से कई मान चुन सकते हैं (निम्नलिखित gif देखें)।

VBA का उपयोग करके एक्सेल ड्रॉप-डाउन सूची से मान चुनने के 2 सिद्ध तरीके

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

VBA कोड व्याख्या

Dim ValueA As String Dim ValueB As String

चर नाम परिभाषित करना।

On Error GoTo Exitsub

यदि कोई त्रुटि होती है, तो लेबल Exitsub पर जाएं।

If Target.Address = "$D$4" Then If Target.SpecialCells(xlCellTypeAllValidation) Is Nothing Then GoTo Exitsub

गंतव्य को सेल D4 के रूप में सेट करता है जिसमें डेटा वैलिडेशन है। यदि कोई सेल नहीं हैं जिनमें डेटा वैलिडेशन है, तो लेबल Exitsub पर जाएं।

Else: If Target.Value = "" Then GoTo Exitsub Else

यदि गंतव्य के रूप में कोई सेल नहीं हैं, तो लेबल Exitsub पर जाएं। अन्यथा, निम्नलिखित पंक्तियों को निष्पादित करें।

Application.EnableEvents = False

एप्लिकेशन इवेंट्स को बंद करना ताकि Worksheet_Change मैक्रो को फायर होने से रोका जा सके; अन्यथा, यह संभावित अनंत लूप का कारण बन सकता है।

ValueB = Target.Value

ValueB को बदले गए सेल के नए मान के रूप में परिभाषित करना।

Application.Undo

बदले गए सेल को पूर्ववत करना।

ValueA = Target.Value

परिवर्तन को पूर्ववत करके, हम अब ValueA को बदले गए सेल के पुराने मान के रूप में परिभाषित कर सकते हैं।

If ValueA = "" Then Target.Value = ValueB

यदि पुराना मान खाली है, तो नए मान को गंतव्य के रूप में स्टोर करें।

Else Target.Value = ValueA & ", " & ValueB End If End If End If

अन्यथा, पुराने और नए दोनों मानों को अल्पविराम (,) के साथ जोड़कर गंतव्य मान के रूप में सेट करें। सभी If स्टेटमेंट बंद करना।

Application.EnableEvents = True Exitsub: Application.EnableEvents = True

एप्लिकेशन इवेंट्स को वापस चालू करना।

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

समान पठन:

  • एक्सेल में किसी अन्य शीट से ड्रॉप डाउन सूची कैसे बनाएं (2 विधियां)
  • एक्सेल में सर्चेबल ड्रॉप डाउन सूची बनाएं (2 विधियां)
  • एक्सेल ड्रॉप डाउन सूची काम नहीं कर रही (8 मुद्दे और समाधान)
  • टेबल से एक्सेल ड्रॉप डाउन सूची बनाएं (5 उदाहरण)
  • एक्सेल में ऑटो अपडेट ड्रॉप डाउन सूची (3 तरीके)

2. ड्रॉप डाउन सूची से कई मान चुनने के लिए VBA मैक्रो लागू करें (बिना दोहराव वाले मानों के)

हमारे डेटासेट में दोहराव वाले मान हैं। यदि आप चाहते हैं कि आपकी ड्रॉपडाउन सूची दोहराव वाले मानों को छोड़कर सभी मानों को पकड़े, तो नीचे दिए गए चरणों का पालन करें।

चरण:

  • जैसा कि पहले दिखाया गया है, डेवलपर टैब से विजुअल बेसिक एडिटर खोलें।
  • फिर, रुचि की वर्कशीट पर राइट-क्लिक करके दिखाई देने वाले व्यू कोड विकल्प से कोड विंडो पर जाएं।
  • फिर, निम्नलिखित कोड कॉपी करें और निर्दिष्ट वर्कशीट के कोड विंडो में पेस्ट करें।
Private Sub Worksheet_Change(ByVal Target As Range) Dim ValueA As String Dim ValueB 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 ValueB = Target.Value Application.Undo ValueA = Target.Value If ValueA = "" Then Target.Value = ValueB Else If InStr(1, ValueA, ValueB) = 0 Then Target.Value = ValueA & ", " & ValueB Else: Target.Value = ValueA End If End If End If End If Application.EnableEvents = True Exitsub: Application.EnableEvents = True End Sub

VBA का उपयोग करके एक्सेल ड्रॉप-डाउन सूची से मान चुनने के 2 सिद्ध तरीके

  • यह कोड न चलाएं, सेव करें।
  • अब रुचि की वर्कशीट पर वापस जाएं। यदि आप सेल D4 में बनाई गई ड्रॉपडाउन सूची पर क्लिक करते हैं, तो आप देखेंगे कि अब आप ड्रॉपडाउन से कई मान चुन सकते हैं (निम्नलिखित gif देखें)।

VBA का उपयोग करके एक्सेल ड्रॉप-डाउन सूची से मान चुनने के 2 सिद्ध तरीके

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

VBA कोड व्याख्या

Dim ValueA As String Dim ValueB As String

चर नाम परिभाषित करना।

Application.EnableEvents = True

एप्लिकेशन इवेंट्स को वापस चालू करना।

On Error GoTo Exitsub

यदि कोई त्रुटि होती है, तो लेबल Exitsub पर जाएं।

If Target.Address = "$D$4" Then If Target.SpecialCells(xlCellTypeAllValidation) Is Nothing Then GoTo Exitsub

गंतव्य को सेल D4 के रूप में सेट करता है जिसमें डेटा वैलिडेशन है। यदि कोई सेल नहीं हैं जिनमें डेटा वैलिडेशन है, तो लेबल Exitsub पर जाएं।

Else: If Target.Value = "" Then GoTo Exitsub Else

यदि गंतव्य के रूप में कोई सेल नहीं हैं, तो लेबल Exitsub पर जाएं। अन्यथा, निम्नलिखित पंक्तियों को निष्पादित करें।

Application.EnableEvents = False

एप्लिकेशन इवेंट्स को बंद करना ताकि Worksheet_Change मैक्रो को फायर होने से रोका जा सके जो संभावित अनंत लूप का कारण बन सकता है।

ValueB = Target.Value

ValueB को बदले गए सेल के नए मान के रूप में परिभाषित करना।

Application.Undo

बदले गए सेल को पूर्ववत करना।

ValueA = Target.Value

परिवर्तन को पूर्ववत करके, हम अब ValueA को बदले गए सेल के पुराने मान के रूप में परिभाषित कर सकते हैं।

If ValueA = "" Then Target.Value = ValueB

यदि पुराना मान खाली है, तो नए मान को गंतव्य के रूप में स्टोर करें।

Else If InStr(1, ValueA, ValueB) = 0 Then Target.Value = ValueA & ", " & ValueB

InStr फंक्शन एक स्ट्रिंग में सबस्ट्रिंग की पहली घटना की स्थिति लौटाता है। यदि आउटपुट 0 है तो पुराने और नए दोनों मानों को अल्पविराम (,) के साथ जोड़कर गंतव्य मान के रूप में सेट करें।

Else: Target.Value = ValueA End If End If End If End If

अन्यथा, पुराने मान को गंतव्य के रूप में सेट करें। सभी If स्टेटमेंट बंद करना।

Application.EnableEvents = True Exitsub: Application.EnableEvents = True

एप्लिकेशन इवेंट्स को वापस चालू करना।

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

निष्कर्ष

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

संबंधित लेख

  • फॉर्मूला के आधार पर एक्सेल में ड्रॉप-डाउन सूची कैसे बनाएं (4 तरीके)
  • एक्सेल में सशर्त ड्रॉप डाउन सूची (बनाएं, सॉर्ट करें और उपयोग करें)
  • एक्सेल में ड्रॉप-डाउन सूची बनाने के लिए IF स्टेटमेंट का उपयोग कैसे करें
  • सेल मान को ड्रॉप डाउन सूची से लिंक करें एक्सेल में (5 तरीके)
  • एक्सेल में ड्रॉप-डाउन सूची कैसे हटाएं
  1. एक्सेल में ऑटोकंप्लीट डेटा सत्यापन ड्रॉप-डाउन सूची बनाएं - दो प्रभावी तरीके एक्सेल में ऑटोकंप्लीट डेटा सत्यापन ड्रॉप-डाउन सूची बनाएं - दो प्रभावी तरीके

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

  1. एक्सेल में डायनामिक डिपेंडेंट ड्रॉपडाउन सूचियाँ बनाएं - दो सिद्ध विधियाँ एक्सेल में डायनामिक डिपेंडेंट ड्रॉपडाउन सूचियाँ बनाएं - दो सिद्ध विधियाँ

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

  1. ड्रॉप-डाउन सूची के साथ एक्सेल डेटा एंट्री फॉर्म बनाएं – दो आसान तरीके ड्रॉप-डाउन सूची के साथ एक्सेल डेटा एंट्री फॉर्म बनाएं – दो आसान तरीके

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