एक्सेल - कुछ कोशिकाओं पर ड्रॉप डाउन सूची बनाएं

मुद्दा

मैं शीट 2 में डेटा से एक ड्रॉप डाउन सूची बनाना चाहता था। मैंने निम्नलिखित कोड की कोशिश की है, लेकिन परिणाम गलत लगता है। ड्रॉप डाउन सूची में सूचीबद्ध शीट 2 में डेटा के बजाय, ड्रॉप डाउन सूची में शीट 1 (जो मेरी गंतव्य शीट है) से डेटा शामिल था।

इसके अलावा, मैं कुछ कोशिकाओं पर ड्रॉप डाउन सूची रखना चाहता हूं, जहां मुझे पहले कोशिकाओं पर जानकारी है, यानी ड्रॉप डाउन सूची को शीट 1 के कॉलम एफ में होना चाहिए जहां शीट 1 के कॉलम ई पर जानकारी है और अंत तक दोहराएं सूचि।

इसके साथ संलग्न फाइल मैं यहाँ पर काम कर रहा हूँ।

उपाय

आप ANOTHER WORKSHEET से एक सत्यापन सूची बनाते हैं, उस सत्यापन सूची को एक शीट नाम देते हैं (पत्रक 2 में)

और सूत्र के रूप में उपयोग करें

मैंने एक या दो पंक्तियों को बदलने के अलावा परेशान किए बिना आपके मैक्रो को संशोधित करने का प्रयास किया

मैंने रेंज का नाम "रांगेंम" दिया है। आप इसे मैक्रो में बदल सकते हैं

यदि आवश्यक हो तो इसे थोड़ा और ट्विक करें।

 सब ड्रॉपडाउन () डिम x जितना लंबा, y उतनी लंबी डिम objCell के रूप में रेंज डिम objDataRangeStart रेंज डिम के रूप में objDataRangeEnd as रेंज डिम रेंजीनाम स्ट्रिंग के रूप में >> >> वैल्यू डाटा सेट के लिए रेंज सेट करें wsSourceList = (शीट 2 ") wsDestList = शीट सेट करें ("शीट 1") objDataRangeStart = wsSourceList.Cells (1, 2) 'ड्रॉपडाउन सूची प्रविष्टियों के लिए रेंज प्रारंभ करें सेट करें सेट करें objDataRangeEnd = wsSourceList.Cells (6, 2)' ड्रॉपडाउन सूची प्रविष्टियों के लिए अंतिम श्रेणी MsgBox objDataRangeStart MsgDox.com ============= वर्कशीट ("शीट 2") रेंज (objDataRangeStart, objdatarangaeend) के साथ। नाम = "रांगेंम" के साथ समाप्त = ============= ====== '> आवश्यक सेल पर सत्यापन सेट करें' सेट करें objCell = wsDestList.Cells (8, 4) 'ड्रॉपडाउन सूची का स्थान' MsgBox objCell x = 4 y = 6 सेट objCell = wsDestList.Cells (x), y) 'ड्रॉपडाउन सूची का स्थान objCell.Validation .Delete' के साथ। .dd प्रकार: = xlValidateList, AlertStyle: = xlValidAlertStop, ऑपरेटर: = xlBetween, फॉर्मूला 1: = "" = "और objDataRangeStartAddressAddress"। पता '= ==========================================। टाइप करें: = xlValidateList, AlertStyle : = xlValidAlertStop, ऑपरेटर: = _ xlBetween, फॉर्मूला 1: = "= रांगनाम" = ================================ ================================ .gnoreBlank = True .InCellDropdown = True .ErrorTitle = "चेतावनी" .ErrorMessage = " कृपया चयनित सेल में उपलब्ध सूची से एक मूल्य चुनें। " .ShowError = True End with x = x + 1 'y = y + 1 Loop तक x = 51 End Sub 

इस टिप के लिए venkat1926 को धन्यवाद।

पिछला लेख अगला लेख

शीर्ष युक्तियाँ