VBA वैश्विक चर - कैसे VBA में वैश्विक चर घोषित करने के लिए?

कुछ फ़ंक्शन किसी फ़ंक्शन के अंदर परिभाषित किए जाते हैं और फ़ंक्शंस के भीतर उपयोग किए जाते हैं और कुछ चर फ़ंक्शन के बाहर परिभाषित किए जाते हैं और सभी फ़ंक्शंस द्वारा उपयोग किए जाते हैं और ऐसे चर ग्लोबल वैरिएबल के रूप में उपयोग किए जाते हैं, उदाहरण के लिए, उप-फ़ंक्शन के तहत घोषित चर ग्लोबल वेरिएबल्स के रूप में जाना जाता है।

एक्सेल VBA में वैश्विक चर

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

एक्सेल VBA में वैश्विक चर क्या हैं?

VBA ग्लोबल वेरिएबल्स वे चर हैं जो मॉड्यूल में किसी भी मैक्रो के शुरू होने से पहले घोषित किए जाते हैं। जब चर "पब्लिक" या "ग्लोबल" का उपयोग करके घोषित किए जाते हैं, तो यह "ग्लोबल वेरिएबल" हो जाता है।

उप प्रक्रिया चर चर कहीं भी उपयोग नहीं कर सकती।

हम आम तौर पर वीबीए में सबरूटीन के अंदर चर को "डिम" शब्द का उपयोग करके घोषित करते हैं।

उपरोक्त छवि को देखें। मैंने '' k '' को '' subprocedure Global_Example1 के अंदर पूर्णांक के रूप में चर घोषित किया है।

मान लीजिए कि हम किसी भी समय इस उप प्रक्रिया के अंदर इस चर का उपयोग करते हैं। हालाँकि, मैं किसी अन्य सब प्रक्रिया में VBA या किसी अन्य मॉड्यूल में एक ही उप-प्रक्रिया में इस चर का उपयोग नहीं कर सकता।

जैसा कि ऊपर की छवि में दिखाया गया है, उपप्रोसेसर Global_Example1 में घोषित चर "k" का उपयोग उप-प्रक्रिया Global_Example2 में नहीं किया जा सकता है।

इसी तरह, उपप्रोसेसर Global_Example2 में घोषित चर "j" का उपयोग उप-प्रक्रिया Global_Example1 में नहीं किया जा सकता है, भले ही दोनों उपप्रकार एक ही मॉड्यूल में हों।

कैसे VBA में वैश्विक चर घोषित करने के लिए?

एक्सेल VBA में वैश्विक चर घोषित करने के तरीके निम्नलिखित हैं।

# 1 - एक ही मॉड्यूल में किसी भी उप प्रक्रिया में मॉड्यूल चर का उपयोग किया जा सकता है

जैसा कि हमने देखा है, हम किसी भी मॉड्यूल में उपप्रोसेसर चर का उपयोग नहीं कर सकते हैं। उन्हें एक ही मॉड्यूल में सभी सब प्रक्रिया के लिए उपलब्ध कराने के लिए, हमें मॉड्यूल के शीर्ष पर चर घोषित करने की आवश्यकता है।

उपरोक्त छवि में, मैंने केवल मॉड्यूल की शुरुआत में चर घोषित किया है। मैंने मॉड्यूल "MyNumber" को मॉड्यूल 1 में पूर्णांक के रूप में व्यक्त किया है ।

एक बार मॉड्यूल के शीर्ष पर चर घोषित होने के बाद, हम एक ही मॉड्यूल में अन्य सभी उप प्रक्रियाओं के लिए एक ही चर का उपयोग कर सकते हैं। इस मामले में, हम मॉड्यूल 1 में सभी उप प्रक्रियाओं के लिए चर "MyNumber" का उपयोग कर सकते हैं

समस्या यह है कि हम उन्हें किसी अन्य मॉड्यूल में उपयोग नहीं कर सकते हैं। इस स्थिति में, मॉड्यूल 1 में घोषित चर "MyNumber" का उपयोग मॉड्यूल 2 में नहीं किया जा सकता है

# 2 - ग्लोबल वेरिएबल्स का उपयोग किसी भी उप प्रक्रिया में और किसी भी मॉड्यूल में किया जा सकता है

अब हमने दो प्रकार के परिवर्तनशील घोषणा और उपयोग करते समय उनके दायरे को देखा है। रोमांचक बात यह है कि हम किसी भी एक मॉड्यूल में चर को घोषित कर सकते हैं और इसे उसी VBA प्रोजेक्ट के सभी मॉड्यूल में सभी उप प्रक्रियाओं के लिए उपयोग कर सकते हैं।

सभी मॉड्यूलों में सभी उप प्रक्रियाओं के लिए वैरिएबल उपलब्ध कराने के लिए, हमें "डिम" शब्द का उपयोग करके "सार्वजनिक" या "ग्लोबल" नाम का उपयोग करके मॉड्यूल के शीर्ष पर वैरिएबल को घोषित करने की आवश्यकता है।

उपरोक्त छवि में, आप देख सकते हैं कि मैंने " वयोवृद्ध " शब्द का उपयोग हमारे दिग्गज शब्द "दिम" के बजाय चर को घोषित करने के लिए किया है

उपरोक्त स्क्रीनशॉट में, मैंने मॉड्यूल 1 में चर घोषित किया है मेरे पास दो और मॉड्यूल हैं, जिनका नाम मॉड्यूल 2 और मॉड्यूल 3 है।

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

केवल "सार्वजनिक" ही नहीं, बल्कि हम "ग्लोबल" शब्द का प्रयोग चर घोषित करने के लिए भी कर सकते हैं।

वैश्विक और सार्वजनिक चर घोषित करने और उन्हें VBA में मॉड्यूल में उपलब्ध कराने के लिए दो कीवर्ड हैं।

याद रखने वाली चीज़ें

  • एक बार एक्सेल मैक्रो वैश्विक चर के मान के साथ चलता है, चर सभी उप प्रक्रियाओं में समान है।
  • वीबीए में वैश्विक चर घोषित करने के लिए एक विशेष मॉड्यूल को बनाए रखना बेहतर है और एक मॉड्यूल में सभी चर हैं।
  • जिस तरह से हम वैरिएबल का मान रीसेट कर सकते हैं, वह स्टॉप बटन दबाकर मैक्रो कोड रीसेट करने से है।

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