विस्तृत करने के लिए, मान लें कि मेरे पास मेरी कार्यपुस्तिका में दो नामित श्रेणियां हैं। दोनों नामित श्रेणियों का एक ही नाम है (चलो "myName" कहें), लेकिन एक को शीट 1 पर रखा गया है और दूसरा कार्यपुस्तिका में है।एक्सेल कार्यपुस्तिका में स्ट्रिंग द्वारा नामित रेंज प्राप्त करें जब नाम डुप्लिकेट किया गया है
नामित रेंज का नाम (स्ट्रिंग) दिया गया है, मैं वर्कबुक स्तर नामित रेंज को पकड़ना चाहता हूं।
यदि मैं मूल कॉल का उपयोग करता हूं: wb.Names.Item("myName")
, यह शीट नामित रेंज को वापस देता है।
यदि मैं इसके बजाय करता हूं: wb.Names.Item("Sheet1!myName")
, जो स्पष्ट रूप से शीट स्कोप्ड नाम सीमा देता है। मैंने पाया है कि मैं शीट विशिष्ट निर्दिष्ट करने के लिए इसका उपयोग कर सकता हूं, लेकिन एक कार्यपुस्तिका नहीं।
क्या वैसे भी मैं निर्दिष्ट कर सकता हूं कि मैं कार्यपुस्तिका को स्कॉप्ड करना चाहता हूं?
मेरा कामकाज वर्तमान में सभी नामों की सूची में पुन: प्रयास कर रहा है, और कार्यपुस्तिका के दायरे नामित रेंज को पकड़ने के लिए नामकरण की तुलना कर रहा है। यह काम करता है क्योंकि .नाम संपत्ति "शीट 1" जोड़ती है। शीट के लिए नामित रेंज स्कॉप्ड। हालांकि यह करने के लिए बहुत महंगा है, और मैं इसे टालना चाहता हूं।
यह मेरे लिए% नहीं 100 स्पष्ट है कि कैसे आप उपयोग कर रहे हैं - अपने यथोचित तेजी से जब तक आप नाम के हजारों के कई दसियों है: अनुकूलित VBA कोड हम एक वैश्विक नाम का स्थानीय संस्करण को खोजने के लिए का उपयोग यह है रेंज। यदि आप किसी श्रेणी स्ट्रिंग पर रेंज ऑब्जेक्ट सेट करने का प्रयास कर रहे थे, तो 'rng1 = रेंज ("myName") सेट करें, यदि शीट 1 सक्रिय है तो स्थानीय शीट नाम से रेंज वापस कर देगा * अन्यथा यह कार्यपुस्तिका के नाम से रेंज वापस कर देगा । मुझे लगता है कि यह सबसे साफ कामकाज है - यानी परीक्षण करें कि कार्यपत्र के रूप में नाम का उपयोग करने से पहले सक्रिय शीट स्थानीय नाम की मेजबानी करने वाली शीट से अलग है। सही बात? :) – brettdj
आप वर्कबुक नाम के साथ parent.name की तुलना भी कर सकते हैं, लेकिन आपको अभी भी उस संग्रह को निकालने के लिए नामों के माध्यम से लूप की आवश्यकता है। – nutsch
पुन: @ ब्रेट्डज की टिप्पणी। जो भी आप प्राप्त करने का प्रयास कर रहे हैं उसके आधार पर, आपके कोड के अंत में हटाए जाने के लिए, बस अपने मैक्रो की शुरुआत में एक अस्थायी शीट जोड़ना सबसे आसान हो सकता है। – nutsch