VBA उप - VBA कोड में उप प्रक्रिया कैसे कॉल करें?

एक्सेल VBA सब प्रक्रिया

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

उप का अर्थ है VBA में उप प्रक्रिया। उप प्रक्रियाओं का उपयोग कोड के रूप में प्रदान किए गए कार्यों के एक विशिष्ट सेट को करने के लिए किया जाता है। यह केवल VBA भाषा के अनुसार कोड में उल्लिखित कार्य करता है लेकिन किसी भी प्रकार का मान नहीं देता है।

VBA सब प्रॉसीजर कैसे लिखें?

उप प्रक्रिया कोड लिखने के लिए, उपप्रक्रिया की संरचना को समझना महत्वपूर्ण है। नीचे संरचना है

उप (प्रक्रिया का नाम) (पैरामीटर) (क्या करने की आवश्यकता है?)) समाप्ति उप

उपप्रक्रिया शुरू करने के लिए, हमें "उप" शब्द का उपयोग करने की आवश्यकता है और हमें उप नाम को एक प्रक्रिया नाम के रूप में देने की आवश्यकता है। प्रक्रिया नाम कुछ और नहीं बल्कि हमारा स्थूल नाम है। VBA उप-प्रक्रिया में, हम आमतौर पर कोष्ठक के अंदर पैरामीटर नहीं रखते हैं।

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

उदाहरण # 1 - सरल उप प्रक्रिया

अब सरल उप प्रक्रिया लेखन विधियों पर एक नज़र डालें।

चरण 1: मॉड्यूल में "उप" शब्द शुरू करें।

चरण 2: अब मैक्रो नाम या प्रक्रिया का नाम बताएं।

चरण 3: उपप्रकार को नाम देने के बाद, बस कुंजी दर्ज करें, यह स्वचालित रूप से अंतिम विवरण लागू करेगा।

अब हम दो चीजें देख सकते हैं यहां एक शुरुआत है, और दूसरा उपप्रकार का अंत है। बेहतर समझ के लिए, हम इसे "हेड" और "टेल" कह सकते हैं।

मैक्रो के सिर और पूंछ के बीच, हमें कुछ कार्य करने के लिए अपना कोड लिखना होगा।

उदाहरण # 2 - सरल सबरूटीन टास्क

ठीक है, अब हम देखेंगे कि यहां कुछ सरल क्रिया कैसे की जाती है।

मान लें कि आप सेल A1 में "एक्सेल VBA" मान डालना चाहते हैं।

चरण 1: उपरोक्त विधियों का उपयोग करके उपप्रकार शुरू करें।

कोड:

सब एक्शन 1 () एंड सब

चरण 2: सेल A1 तक पहुंचने के लिए हमें RANGE शब्द का उपयोग करना होगा।

कोड:

सब एक्शन 1 () रेंज (एंड सब

चरण 3: यह पूछ रहा है कि सेल 1 क्या है जिसे आप संदर्भित करना चाहते हैं? इस मामले में, यह एक A1 सेल है।

कोड:

सब एक्शन 1 () रेंज ("ए 1") एंड सब

चरण 4: हमें "एक्सेल VBA" मान सम्मिलित करने की आवश्यकता है, इसलिए श्रेणी के बाद डॉट लगाकर VALUE संपत्ति चुनें।

कोड:

सब एक्शन 1 () रेंज ("ए 1")। वैल्यू एंड सब

जब आप VALUE शब्द लिखना शुरू करते हैं, तो आपको कई विकल्प दिखाई देंगे, और इन विकल्पों को एक IntelliSense सूची कहा जाता है, जो आपके द्वारा टाइप किए जाने के आधार पर भविष्यवाणी करता है। जब हम सूत्र लिखना शुरू करते हैं तो यह फॉर्मूला वर्कशीट में कैसे दिखाई देगा।

चरण 5: VALUE का चयन करने के बाद, एक समान चिह्न लगाएं और युगल उद्धरण में "Excel VBA" के रूप में मान दर्ज करें।

कोड:

सब एक्शन 1 () रेंज ("ए 1")। मूल्य = "एक्सेल वीबीए" एंड सब

तो, हम कर रहे हैं।

अब हमें इस कार्य को निष्पादित करने की आवश्यकता है। कार्य निष्पादित करने के लिए, हमारे पास एक वापसी थी। विजुअल बेसिक एडिटर विंडो में RUN बटन को दबाकर हमें इस कोड को चलाना होगा।

हम कर्सर को मैक्रो कोड के अंदर रखकर एक्सेल शॉर्टकट की को भी दबा सकते हैं।

जैसे ही आप कोड चलाते हैं, आपको सेल A1 में "एक्सेल VBA" मान मिलेगा।

वीबीए सबरूटीन के प्रकार

हमारे पास Sub Sub Process में दो और प्रकार होते हैं एक है Public Sub Procedure, और दूसरा है Private Sub Procedure।

शब्द "पब्लिक" और "प्राइवेट" एक्सेसिबिलिटी मॉडिफायर हैं जो हमें अलग-अलग उप प्रक्रियाओं का उपयोग करने की अनुमति देते हैं।

  • सार्वजनिक उप प्रक्रिया हमें कार्यपुस्तिका के सभी मॉड्यूल में प्रक्रिया का उपयोग करने की अनुमति देती है।
  • निजी उप प्रक्रिया हमें केवल वर्तमान मॉड्यूल में प्रक्रिया का उपयोग करने की अनुमति देती है, और कहीं नहीं।

उदाहरण के लिए, सार्वजनिक संहिता की नीचे की छवि देखें, जो कि मॉड्यूल 1 में है।

अब मॉड्यूल 2 में भी मैं इस उपप्रकार का उपयोग कर सकता हूं।

एक्शन 1 उस सबप्रोडक्ट का नाम है जिसका हमने मॉड्यूल 1 में उपयोग किया है।

मॉड्यूल 2 में, मैंने इसे "कॉल एक्शन 1" कहा है। इसका मतलब यह है कि जब आप उपप्रोसेस को चलाते हैं, तो यह मॉड्यूल 1 से उपप्रक्रिया एक्शन 1 को निष्पादित करेगा।

निजी उप प्रक्रियाओं को एक अलग मॉड्यूल से एक्सेस नहीं किया जा सकता है। हमें उन्हें केवल एक ही मॉड्यूल से एक्सेस करने की आवश्यकता है।

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