बहु-निवडीसह ड्रॉपडाउन सूची

एक्सेल शीटमधील क्लासिक ड्रॉप-डाउन सूची उत्तम आहे, परंतु ती तुम्हाला सादर केलेल्या सेटमधून फक्त एक पर्याय निवडण्याची परवानगी देते. काहीवेळा हेच तुम्हाला हवे असते, परंतु अशी परिस्थिती असते जिथे वापरकर्त्याला निवडण्यास सक्षम असणे आवश्यक असते काही सूचीमधील घटक.

अशा बहु-निवड सूचीची अनेक विशिष्ट अंमलबजावणी पाहू.

पर्याय 1. क्षैतिज

वापरकर्ता ड्रॉप-डाउन सूचीमधून एक-एक करून आयटम निवडतो आणि ते सेलच्या उजवीकडे बदललेले दिसतात, स्वयंचलितपणे क्षैतिजरित्या सूचीबद्ध केले जातात:

सेल C2:C5 मधील ड्रॉप-डाउन सूची या उदाहरणात मानक पद्धतीने तयार केल्या आहेत, म्हणजे

  1. सेल C2:C5 निवडा
  2. टॅब किंवा मेनू डेटा एक संघ निवडा माहितीचे वैधीकरण
  3. उघडणाऱ्या विंडोमध्ये, एक पर्याय निवडा यादी आणि श्रेणी म्हणून निर्दिष्ट करा स्रोत सूची A1:A8 साठी स्त्रोत डेटा असलेले सेल

नंतर तुम्हाला शीट मॉड्यूलमध्ये मॅक्रो जोडणे आवश्यक आहे, जे सर्व मुख्य कार्य करेल, म्हणजे हिरव्या पेशींच्या उजवीकडे निवडलेली मूल्ये जोडा. हे करण्यासाठी, ड्रॉप-डाउन सूचीसह शीट टॅबवर उजवे-क्लिक करा आणि कमांड निवडा मूळ सांकेतिक शब्दकोश. उघडणाऱ्या व्हिज्युअल बेसिक एडिटर विंडोमध्ये खालील कोड पेस्ट करा:

खाजगी सब वर्कशीट_बदला(श्रेणीनुसार टार्गेट नुसार) एरर नंतर पुन्हा सुरू करा जर छेदत नसेल तर (लक्ष्य, श्रेणी("C2:C5")) काहीही नाही आणि लक्ष्य. सेल.गणना = 1 नंतर Application.EnableEvents = False If Len(Target.Off.Off) (0, 1)) = 0 नंतर Target.Offset(0, 1) = Target Else Target.End(xlToRight).Offset(0, 1) = Target End If Target.ClearContents Application.EnableEvents = True End If End Sub  

आवश्यक असल्यास, या कोडच्या दुसऱ्या ओळीतील ड्रॉप-डाउन सूची C2:C5 ची संवेदनशील श्रेणी तुमच्या स्वत:च्या सोबत बदला.

पर्याय 2. अनुलंब

मागील आवृत्ती प्रमाणेच, परंतु नवीन निवडलेली मूल्ये उजवीकडे जोडली जात नाहीत, परंतु तळाशी:

हे अगदी त्याच प्रकारे केले जाते, परंतु हँडलर मॅक्रो कोड किंचित बदलतो:

खाजगी सब वर्कशीट_बदला(श्रेणीनुसार टार्गेट) एररवर पुन्हा सुरू करा जर छेदत नसेल तर पुढे (लक्ष्य, श्रेणी("C2:F2")) काहीही नाही आणि लक्ष्य. सेल.गणना = 1 नंतर Application.EnableEvents = False If Len(Target.Off.Off) (1, 0)) = 0 नंतर Target.Offset(1, 0) = Target Else Target.End(xlDown).Offset(1, 0) = Target End If Target.ClearContents Application.EnableEvents = True End If End Sub  

पुन्हा, आवश्यक असल्यास, या कोडच्या दुसऱ्या ओळीत C2:F2 ड्रॉप-डाउन सूचीची संवेदनशील श्रेणी तुमच्या स्वत:च्या सोबत बदला.

पर्याय 3. त्याच सेलमध्ये जमा होण्यासह

या पर्यायामध्ये, ड्रॉप-डाउन सूची ज्या सेलमध्ये आहे त्याच सेलमध्ये संचय होतो. निवडलेले घटक कोणत्याही दिलेल्या वर्णाने वेगळे केले जातात (उदाहरणार्थ, स्वल्पविराम):

ग्रीन सेलमधील ड्रॉप-डाउन सूची मागील पद्धतींप्रमाणे पूर्णपणे मानक पद्धतीने तयार केल्या जातात. शीट मॉड्यूलमधील मॅक्रोद्वारे सर्व काम पुन्हा केले जाते:

खाजगी सबवर्कशीट_बदला(श्रेणीनुसार टार्गेट नुसार) एरर नंतर पुन्हा सुरू करा जर छेदत नसेल तर (लक्ष्य, श्रेणी("C2:C5")) काहीही नाही आणि लक्ष्य आहे. सेल.गणना = 1 नंतर Application.EnableEvents = False newVal = TargetUp. oldval = टार्गेट जर Len(oldval) <> 0 आणि oldval <> newVal नंतर Target = Target & "," & newVal Else Target = newVal End If Len(newVal) = 0 तर Target.ClearContents Application.EnableEvents = True End If उप समाप्त  

इच्छित असल्यास, तुम्ही कोडच्या 9व्या ओळीतील विभाजक वर्ण (स्वल्पविराम) बदलू शकता (उदाहरणार्थ, स्पेस किंवा अर्धविराम).

  • एक्सेल शीट सेलमध्ये साधी ड्रॉप डाउन सूची कशी तयार करावी
  • सामग्रीसह ड्रॉपडाउन सूची
  • गहाळ पर्यायांसह ड्रॉपडाउन सूची जोडली
  • मॅक्रो म्हणजे काय, ते कसे वापरायचे, व्हिज्युअल बेसिकमध्ये मॅक्रो कोड कुठे टाकायचा

प्रत्युत्तर द्या