इस ट्यूटोरियल में वीबीए में शीट नामों के साथ इंटरैक्ट करना शामिल होगा।
शीट का नाम प्राप्त करें
पत्रक के नाम में संग्रहीत हैं नाम की संपत्ति शीट्स या कार्यपत्रक वस्तु। शीट का नाम "टैब" नाम है जो एक्सेल के नीचे दिखाई देता है:
एक्टिवशीट नाम प्राप्त करें
यह एक संदेश बॉक्स में ActiveSheet नाम प्रदर्शित करेगा:
1 | MsgBox ActiveSheet.Name |
इंडेक्स नंबर द्वारा शीट का नाम प्राप्त करें
यह एक संदेश बॉक्स में पहला वर्कशीट नाम प्रदर्शित करेगा:
1 | MsgBox शीट्स(1).नाम |
यह कार्यपुस्तिका में अंतिम कार्यपत्रक का नाम प्रदर्शित करेगा:
1 | MsgBox पत्रक (पत्रक। गणना)। नाम: |
कोड नाम से शीट का नाम प्राप्त करें
वीबीए संपादक में, शीट के "कोड नाम" को बदलने का विकल्प होता है। कोड नाम एक्सेल उपयोगकर्ता के लिए दृश्यमान नहीं है और केवल वीबीए संपादक में देखा जा सकता है:
वीबीए में, शीट्स के साथ काम करते समय, आप सामान्य टैब नाम का संदर्भ दे सकते हैं:
1 | पत्रक ("टैबनाम")। सक्रिय करें |
या वीबीए कोड नाम:
1 | कोडनाम। सक्रिय करें |
यदि शीट टैब का नाम कभी भी बदलता है तो कोड नाम का संदर्भ देना वांछनीय है। यदि आप एक्सेल उपयोगकर्ता को शीट नाम बदलने की अनुमति देते हैं तो आपको अपने वीबीए कोड में कोड नाम का संदर्भ देना चाहिए ताकि शीट टैब नाम बेमेल त्रुटि का कारण न हो। शीट कोड नामों पर यहां अधिक विस्तार से चर्चा की गई है।
वीबीए कोड नाम का उपयोग करके शीट नाम प्राप्त करने के लिए, निम्न कार्य करें:
1 | MsgBox CodeName.Name |
नाम बदलें पत्रक
आप समायोजन करके पत्रक का नाम बदल सकते हैं नाम की संपत्ति शीट्स या कार्यपत्रक वस्तु।
एक्टिवशीट का नाम बदलें
1 | ActiveSheet.Name = "नया नाम" |
नाम से शीट का नाम बदलें
1 | पत्रक ("ओल्डशीट")। नाम = "नया नाम" |
शीट इंडेक्स नंबर द्वारा शीट का नाम बदलें
यहां हम कार्यपुस्तिका में पहली शीट का नाम बदलने के लिए 1 का उपयोग करते हैं।
1 | पत्रक(1).नाम = "नया नाम" |
कोड नाम से शीट का नाम बदलें
यह कोड अपने वीबीए कोड नाम (ऊपर चर्चा की गई) का उपयोग करके एक शीट का नाम बदल देगा:
1 | घटक.नाम = "नया नाम" |
जांचें कि क्या शीट का नाम मौजूद है
हमने यह जांचने के लिए एक फ़ंक्शन बनाया है कि क्या किसी विशेष नाम वाली शीट पहले से मौजूद है।
123456789101112 | 'परीक्षण करें कि क्या एक सीमा एक शीट पर मौजूद है।'शीट मौजूद है या नहीं, यह जांचने के लिए रेंज खाली छोड़ दें'इनपुट:' व्हाट्सएप - शीट का स्ट्रिंग नाम (उदा "शीट 1")' WhatRange (वैकल्पिक, डिफ़ॉल्ट = "A1") - श्रेणी का स्ट्रिंग नाम (उदा "A1")फ़ंक्शन रेंज एक्ज़िस्ट्स (स्ट्रिंग के रूप में व्हाट्सएप, स्ट्रिंग के रूप में वैकल्पिक ByVal WhatRange = "A1") बूलियन के रूप मेंरेंज के रूप में मंद परीक्षणत्रुटि पर फिर से शुरू करें अगलापरीक्षण सेट करें = ActiveWorkbook.Sheets(WhatSheet).Range(WhatRange)RangeExists = Err.Number = 0त्रुटि गोटो 0 . परअंत समारोह |
यदि शीट मौजूद है, तो फ़ंक्शन TRUE लौटाएगा, या यदि ऐसा नहीं है तो FALSE लौटाएगा।
इस तरह समारोह का प्रयोग करें:
123 | सब टेस्ट_शीटएक्सिस्ट्स ()MsgBox RangeExists("सेटअप")अंत उप |
कॉपी शीट और नाम बदलें
यह उदाहरण कॉपी शीट्स पर हमारे लेख से लिया गया है।
शीट को कॉपी और पेस्ट करने के बाद, नई बनाई गई शीट एक्टिवशीट बन जाती है। तो कॉपी की गई शीट का नाम बदलने के लिए, बस ActiveSheet.Name का उपयोग करें:
12345678 | उप कॉपीशीटनाम २ ()शीट्स ("शीट 1")। इसके बाद कॉपी करें: = शीट्स (शीट्स। गणना)त्रुटि पर फिर से शुरू करें अगलाActiveSheet.Name = "लास्टशीट"त्रुटि गोटो 0 . परअंत उप |
नोट: यदि शीट का नाम पहले से मौजूद है, तो त्रुटियों से बचने के लिए हमने एरर हैंडलिंग को जोड़ा है।