वीबीए सेट स्थिति - चर ऑब्जेक्ट्स का मान कैसे असाइन करें?

एक्सेल VBA सेट स्टेटमेंट

VBA सेट एक कथन है जिसका उपयोग किसी भी मान कुंजी को निर्दिष्ट करने के लिए किया जाता है, जो ऑब्जेक्ट या वैरिएबल के संदर्भ में कहा जाता है, हम एक निश्चित चर के लिए पैरामीटर को परिभाषित करने के लिए इस फ़ंक्शन का उपयोग करते हैं, उदाहरण के लिए, यदि हम सेट M = A लिखते हैं जिसका अर्थ है कि अब M संदर्भ में A के समान मूल्य और गुण हैं।

VBA में, एक ऑब्जेक्ट एक्सेल का एक कोर है क्योंकि वस्तुओं के बिना, हम कुछ भी नहीं कर सकते हैं। ऑब्जेक्ट वर्कबुक, वर्कशीट और रेंज हैं। जब हम एक चर घोषित करते हैं, तो हमें इसके लिए एक डेटा प्रकार निर्दिष्ट करने की आवश्यकता होती है, और हम वस्तुओं को डेटा प्रकार के रूप में भी निर्दिष्ट कर सकते हैं। घोषित ऑब्जेक्ट चर के लिए एक मूल्य प्रदान करने के लिए, हमें "सेट" शब्द का उपयोग करने की आवश्यकता है। शब्द "सेट" VBA में एक नई वस्तु को संदर्भित करता था, उदाहरण के लिए, विशेष वर्कशीट की विशेष श्रेणी का जिक्र।

एक्सेल VBA सेट स्टेटमेंट का उपयोग कैसे करें?

# 1 - रेंज ऑब्जेक्ट चर के साथ सेट स्टेटमेंट

उदाहरण के लिए, मान लें कि आप A1 से D5 तक की रेंज का उपयोग करना चाहते हैं। हर बार कोड को रेंज ("A1: D5") के रूप में लिखने के बजाय, हम वेरिएबल को रेंज घोषित कर सकते हैं और रेंज रेफरेंस को रेंज ("A1: D5") के रूप में सेट कर सकते हैं।

चरण 1: चर को एक श्रेणी वस्तु के रूप में घोषित करें।

कोड:

उप Set_Example ()

डिम मायरेंज अस रेंज

अंत उप

चरण 2: जिस क्षण हम डेटा प्रकार को सीमा के रूप में निर्दिष्ट करते हैं, शब्द "सेट" का उपयोग करें।

कोड:

सब सेट_ एक्सप्लिमेंट () डिम मायरेंज रेंज रेंज सेट मायरेंज = एंड सब

चरण 3: अब सीमा का उल्लेख करें।

कोड:

सब सेट_एक्सप्लिमेंट () डिम मायरेंज अस रेंज सेट मायरेंज = रेंज ("ए 1: डी 5") एंड सब

चरण 4: अब, चर "MyRange" A1 के D5 के रेंज के बराबर है। इस चर का उपयोग करके, हम इस श्रेणी के सभी गुणों और विधियों तक पहुँच सकते हैं।

हम कॉपी कर सकते हैं, एक्सेल में एक टिप्पणी जोड़ सकते हैं, और कई अन्य चीजें कर सकते हैं।

उदाहरण के लिए, उद्देश्य, मैंने यहाँ कुछ संख्याएँ बनाई हैं।

अब चर का उपयोग करते हुए, मैं फ़ॉन्ट आकार को 12 में बदल दूंगा।

कोड:

सब सेट_Example () डिम MyRange रेंज रेंज MyRange = रेंज ("A1: D5") MyRange.Font.Size = 12 समाप्ति उप

यह निर्धारित सीमा के फ़ॉन्ट आकार को बदल देगा।

इस तरह, हम "सेट" शब्द का उपयोग करके किसी विशेष सीमा के साथ कई काम कर सकते हैं।

# 2 - वर्कशीट ऑब्जेक्ट चर के साथ सेट स्टेटमेंट

हमने देखा है कि वीबीए में रेंज ऑब्जेक्ट के साथ "सेट" कैसे काम करता है। यह ठीक उसी तरह काम करता है जैसे कि वर्कशीट ऑब्जेक्ट।

मान लें कि आपकी कार्यपुस्तिका में 5 कार्यपत्रक हैं, और आप एक विशेष कार्यपत्रक पर वापस जाते रहना चाहते हैं। आप उस वर्कशीट का नाम निर्धारित ऑब्जेक्ट वैरिएबल पर सेट कर सकते हैं।

उदाहरण के लिए, नीचे दिए गए कोड को देखें।

कोड:

उप Set_Worksheet_Example () डिम Ws के रूप में कार्यपत्रक सेट Ws = कार्यपत्रक ("सारांश शीट") उप

उपरोक्त कोड में, चर "Ws" को एक वस्तु चर के रूप में परिभाषित किया गया है, और अगली पंक्ति में, शब्द "सेट" का उपयोग करके, हमने चर को "सारांश शीट" नाम की वर्कशीट पर सेट किया है।

अब इस वैरिएबल का उपयोग करके हम इससे जुड़ी सभी चीजों को कर सकते हैं। नीचे दिए गए कोड के दो सेटों पर एक नज़र डालें।

# 1 - "सेट" शब्द के बिना

कोड:

उप Set_Worksheet_Example1 () 'शीट वर्कशीट ("सारांश शीट") का चयन करने के लिए।' शीट वर्कशीट को सक्रिय करने के लिए "(" सारांश शीट ") का चयन करें। शीट वर्कशीट (" सारांश शीट ") को छिपाने के लिए सक्रिय करें। दृश्यमान = xlVeryHidden '। शीट वर्क्सशीट को अनहाइड करें ("सारांश शीट")। दृश्यमान = xlV अदृश्य एंड सब

हर बार जब मैंने शीट "सारांश शीट" को संदर्भित करने के लिए वर्कशीट ऑब्जेक्ट का उपयोग किया है, तो यह कोड को इतना लंबा बनाता है और टाइप करने के लिए बहुत समय की आवश्यकता होती है।

विशाल कोड के भाग के रूप में, हर बार जब आप कार्यपत्रक को संदर्भित करने की आवश्यकता होती है, तो इस तरह कार्यपत्रक नाम टाइप करना निराशाजनक है।

अब सेट कोड में शब्द का उपयोग करने के लाभ पर एक नज़र डालें।

# 2 - "सेट" शब्द के साथ

कोड:

Sub Set_Worksheet_Example() Dim Ws As Worksheet Set Ws = Worksheets("Summary Sheet") 'To select the sheet Ws.Select 'To Activate the sheet Ws.Activate 'To hide the sheet Ws.Visible = xlVeryHidden 'To unhide the sheet Ws.Visible = xlVisible End Sub

The moment we set the worksheet name, we can see the variable name while entering the code as part of the list.

#3 - Set Statement with Workbook Object Variables

The real advantage of the word “Set” in VBA arises when we need to reference different workbooks.

When we work with different workbooks, it is so hard to type in the full name of the workbook, along with its file extension.

Assume you have two different workbooks named “Sales Summary File 2018.xlsx” and “Sales Summary File 2019.xlsx” we can set the two workbooks like the below code.

Code:

उप Set_Workbook_Example1 () मंद Wb1 कार्यपुस्तिका के रूप में मंद Wb2 कार्यपुस्तिका सेट Wb1 = कार्यपुस्तिकाएँ ("बिक्री सारांश फ़ाइल 2018.xlsx") सेट Wb2 = कार्यपुस्तिकाएँ ("बिक्री फ़ाइल 2019.xlsx") समाप्ति उप

अब चर Wb1 "बिक्री सारांश फ़ाइल 2018.xlsx" नाम की कार्यपुस्तिका के बराबर है, और चर Wb2 "बिक्री सारांश फ़ाइल 2019.xlsx" नाम की कार्यपुस्तिका के बराबर है।

इस चर का उपयोग करके, हम वास्तव में कार्यपुस्तिका से जुड़े सभी गुणों और विधियों तक पहुंच सकते हैं।

हम नीचे दिए गए कोड को छोटा कर सकते हैं।

कार्यपुस्तिका को सक्रिय करने के लिए सेट कीवर्ड का उपयोग किए बिना:

कार्यपुस्तिकाएं ("बिक्री सारांश फ़ाइल 2018.xlsx")। सक्रिय करें

कार्यपुस्तिका को सक्रिय करने के लिए सेट कीवर्ड का उपयोग करना:

Wb1। सक्रिय करें

इससे कोड का लेखन बहुत सरल हो जाता है, और यह भी कि, कार्यपुस्तिका का नाम सेट होने के बाद, कार्यपुस्तिका के नामों की टाइपो त्रुटि की चिंता होती है।

दिलचस्प लेख...