ड्रॉपडाउन एक्सेल से संबंधित विभिन्न कार्यों को करने के लिए सूचियाँ एक बहुत ही उपयोगी विशेषता हैं। VBA लागू किया जा रहा है एक्सेल में किसी भी ऑपरेशन को चलाने के लिए सबसे प्रभावी, तेज और सबसे सुरक्षित तरीका है। इस लेख में, हम आपको ड्रॉप डाउन सूची से मूल्य का चयन करने . के लिए 2 प्रभावी तरीके दिखाएंगे एक्सेल में VBA मैक्रो . के साथ ।
कार्यपुस्तिका डाउनलोड करें
आप यहां से निःशुल्क अभ्यास एक्सेल वर्कबुक डाउनलोड कर सकते हैं।
Excel में सामान्य सूची से ड्रॉपडाउन सूची बनाना
कोडिंग अनुभाग में जाने से पहले, आइए ड्रॉपडाउन सूची बनाने का एक बहुत ही सरल तरीका सीखें। सामान्य सूची से एक्सेल में। ताकि बाद में हम उस ड्रॉपडाउन सूची का उपयोग कर सकें जो हमने बनाई थी इस लेख के उदाहरण के रूप में।
निम्नलिखित सामान्य सूची है जो हमारे पास हमारे एक्सेल वर्कशीट में है। दोहराव वाले मान हैं (उदा., Apple सेल B7 . में और B9 ) सूची में।
हम देखेंगे कि मूल्यों से युक्त ड्रॉपडाउन सूची कैसे बनाई जाती है (उदा., अंगूर, संतरा, सेब, आम, सेब ) सामान्य सूची से ।
चरण:
- सबसे पहले, किसी भी सेल पर क्लिक करें (सेल D4 हमारे मामले में) जहां आप ड्रॉपडाउन सूची संग्रहित करना चाहते हैं।
- फिर, टैब पर क्लिक करें डेटा ।
- उसके बाद, डेटा सत्यापन . चुनें डेटा टूल . से रिबन का समूह।
- एक डेटा सत्यापन पॉप-अप बॉक्स दिखाई देगा। वहां से,
- सूचीचुनें अनुमति दें . में मानदंड।
- स्रोत . में मानदंड, सीमा खींचें (B5:B9 हमारे मामले में) जिसमें ड्रॉपडाउन सूची के लिए मान हैं।
- बाद में, ठीक क्लिक करें ।
निम्न चित्र को देखें।
सेल D4 . में , एक ड्रॉपडाउन सूची बनाई गई है जिसमें मान . है (उदा., अंगूर, संतरा, सेब, आम, सेब ) सामान्य सूची से पुनर्प्राप्त किया गया (श्रेणी B5:B9 )।
एक्सेल में ड्रॉप डाउन सूची से मूल्य का चयन करने के लिए वीबीए के साथ 2 तरीके
इस अनुभाग में, आप सीखेंगे कि एक ड्रॉपडाउन सूची से दोहराए जाने वाले और गैर-दोहराव वाले दोनों मानों के साथ कई मानों का चयन कैसे करें एक्सेल में VBA . के साथ ।
1. एक्सेल में ड्रॉप डाउन सूची से एकाधिक मानों का चयन करने के लिए वीबीए एम्बेड करें (दोहराए जाने वाले मानों के साथ)
हमारे डेटासेट में दोहराए जाने वाले मान हैं। यदि आप चाहते हैं कि आपकी ड्रॉपडाउन सूची सभी मानों को पकड़ ले, चाहे मान दोगुना हो या न हो , फिर नीचे दिए गए चरणों का पालन करें।
चरण:
- शुरुआत में, Alt + F11 दबाएं अपने कीबोर्ड पर या टैब पर जाएं डेवलपर -> विजुअल बेसिक विजुअल बेसिक संपादक खोलने के लिए ।
- अगला, उपयुक्त शीट नाम पर राइट-क्लिक करें और कोड देखें . चुनें दिखाई देने वाली विकल्प सूची से।
- फिर, प्रतिलिपि करें निम्नलिखित कोड और चिपकाएं इसे कोड विंडो में।
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
- भागो मत यह कोड, सहेजें यह।
- अब कार्यपत्रक पर वापस जाएं ब्याज की। यदि आप बनाई गई ड्रॉपडाउन सूची पर क्लिक करते हैं सेल D4 . में , आप देखेंगे कि अब आप ड्रॉपडाउन से अनेक मान चुन सकते हैं (निम्न जीआईएफ देखें)।
जैसा कि आप उपरोक्त gif से देख सकते हैं, आप एक विशिष्ट मान को कई बार चुन सकते हैं इसके साथ VBA कोड। इस अनुभाग में हमने जो मैक्रो कोड प्रदान किया है, वह ड्रॉपडाउन सूची को सभी प्रकार के मानों का चयन करने देगा ।
VBA कोड स्पष्टीकरण
Dim ValueA As String
Dim ValueB As String
चर नामों को परिभाषित करना।
On Error GoTo Exitsub
यदि कोई त्रुटि होती है, तो Exitsub label लेबल पर जाएं ।
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
एप्लिकेशन ईवेंट को बंद करना ताकि वर्कशीट_चेंज मैक्रो फायरिंग से रोका जा सकता है; अन्यथा, यह एक संभावित अनंत लूप का कारण बन सकता है।
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
अन्यथा, पुराने और नए दोनों मानों को अल्पविराम से जोड़कर गंतव्य मान सेट करें (, ) सभी को बंद करना यदि बयान।
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
- भागो मत यह कोड, सहेजें यह।
- अब कार्यपत्रक पर वापस जाएं ब्याज की। यदि आप बनाई गई ड्रॉपडाउन सूची पर क्लिक करते हैं सेल D4 . में , आप देखेंगे कि अब आप ड्रॉपडाउन से अनेक मान चुन सकते हैं (निम्न जीआईएफ देखें)।
जैसा कि आप उपरोक्त gif से देख सकते हैं, आप एक विशिष्ट मान को एक से अधिक बार नहीं चुन सकते हैं इसके साथ VBA कोड। इस अनुभाग में हमने जो मैक्रो कोड प्रदान किया है, वह ड्रॉपडाउन सूची को बिना किसी दोहराव वाले मूल्यों के मूल्यों का चयन करने देगा ।
VBA कोड स्पष्टीकरण
Dim ValueA As String
Dim ValueB As String
चर नामों को परिभाषित करना।
Application.EnableEvents = True
एप्लिकेशन ईवेंट को वापस चालू करना।
On Error GoTo Exitsub
यदि कोई त्रुटि होती है, तो Exitsub label लेबल पर जाएं ।
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
एप्लिकेशन ईवेंट को बंद करना ताकि वर्कशीट_चेंज मैक्रो को सक्रिय होने से रोका जा सकता है जो संभावित अनंत लूप का कारण बन सकता है।
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
अन्यथा, पुराने मान को गंतव्य के रूप में सेट करें। सभी को बंद करना यदि बयान।
Application.EnableEvents = True
Exitsub:
Application.EnableEvents = True
एप्लिकेशन ईवेंट को वापस चालू करना।
और पढ़ें: चयन के आधार पर एक्सेल ड्रॉप डाउन सूची
निष्कर्ष
निष्कर्ष निकालने के लिए, इस लेख ने आपको ड्रॉप डाउन सूची से मूल्य का चयन करने . पर 2 प्रभावी तरीके दिखाए एक्सेल में VBA मैक्रो . के साथ . मुझे उम्मीद है कि यह लेख आपके लिए बहुत फायदेमंद रहा होगा। विषय के संबंध में कोई भी प्रश्न पूछने के लिए स्वतंत्र महसूस करें।
संबंधित लेख
- एक्सेल में फ़ॉर्मूला के आधार पर ड्रॉप-डाउन सूची कैसे बनाएं (4 तरीके)
- एक्सेल में सशर्त ड्रॉप डाउन सूची (बनाएं, क्रमबद्ध करें और उपयोग करें)
- Excel में ड्रॉप-डाउन सूची बनाने के लिए IF स्टेटमेंट का उपयोग कैसे करें
- सेल वैल्यू को एक्सेल में ड्रॉप डाउन लिस्ट से लिंक करें (5 तरीके)
- Excel में ड्रॉप-डाउन सूची कैसे निकालें