एक्सेल VBA सबरूटीन: उदाहरण के साथ VBA में Sub को कैसे कॉल करें
VBA में सबरूटीन क्या है?
A VBA में सबरूटीन कोड का एक टुकड़ा है जो कोड में वर्णित एक विशिष्ट कार्य करता है लेकिन कोई परिणाम या मान नहीं लौटाता है। सबरूटीन का उपयोग कोड के बड़े टुकड़ों को छोटे प्रबंधनीय भागों में तोड़ने के लिए किया जाता है। सबरूटीन को प्रोग्राम में कहीं से भी कई बार याद किया जा सकता है।
मान लीजिए कि आपने यूजर इनपुट डेटा स्वीकार करने के लिए टेक्स्ट बॉक्स के साथ यूजर इंटरफ़ेस बनाया है। आप एक सबरूटीन बना सकते हैं जो टेक्स्ट बॉक्स की सामग्री को साफ़ करता है। ऐसे परिदृश्य में VBA कॉल सबरूटीन उपयुक्त है क्योंकि आप कोई परिणाम वापस नहीं करना चाहते हैं।
सबरूटीन्स का उपयोग क्यों करें
- कोड को छोटे प्रबंधनीय कोड में विभाजित करेंएक औसत कंप्यूटर प्रोग्राम में हज़ारों-हज़ार सोर्स कोड लाइनें होती हैं। इससे जटिलता आती है। सबरूटीन प्रोग्राम को कोड के छोटे-छोटे प्रबंधनीय हिस्सों में तोड़कर इस समस्या को हल करने में मदद करते हैं।
- कोड पुनः प्रयोज्यतामान लीजिए कि आपके पास एक प्रोग्राम है जिसे डेटाबेस तक पहुँचने की आवश्यकता है, प्रोग्राम में लगभग सभी विंडो को डेटाबेस के साथ इंटरैक्ट करने की आवश्यकता होगी। इन विंडो के लिए अलग-अलग कोड लिखने के बजाय, आप एक ऐसा फ़ंक्शन बना सकते हैं जो सभी डेटाबेस इंटरैक्शन को संभालता है। फिर आप इसे अपनी इच्छानुसार किसी भी विंडो से कॉल कर सकते हैं।
- सबरूटीन और फ़ंक्शन स्व-दस्तावेजीकरण हैंमान लीजिए कि आपके पास एक फ़ंक्शन है calculateLoanInterest और दूसरा फ़ंक्शन है connectToDatabase. सबरूटीन/फ़ंक्शन के नाम को देखकर ही प्रोग्रामर यह बता पाएगा कि प्रोग्राम क्या करता है.
सबरूटीन और फ़ंक्शन नामकरण के नियम
सबरूटीन्स और फंक्शन्स का उपयोग करने के लिए कुछ नियमों का पालन करना होता है।
- सबरूटीन या VBA कॉल फ़ंक्शन नाम में स्पेस नहीं हो सकता
- एक्सेल VBA कॉल सब या फ़ंक्शन का नाम किसी अक्षर या अंडरस्कोर से शुरू होना चाहिए। यह किसी संख्या या विशेष वर्ण से शुरू नहीं हो सकता
- सबरूटीन या फ़ंक्शन नाम कीवर्ड नहीं हो सकता। कीवर्ड एक ऐसा शब्द है जिसका विशेष अर्थ होता है VBA. Private, Sub, Function, और End आदि जैसे शब्द कीवर्ड के उदाहरण हैं। कंपाइलर इनका उपयोग विशिष्ट कार्यों के लिए करता है।
VBA सबरूटीन सिंटैक्स
इस उदाहरण का अनुसरण करने के लिए आपको एक्सेल में डेवलपर टैब को सक्षम करना होगा। यदि आप नहीं जानते कि डेवलपर टैब को कैसे सक्षम किया जाता है, तो ट्यूटोरियल पढ़ें VBA Operaमरोड़
यहाँ वाक्यविन्यास में,
Private Sub mySubRoutine(ByVal arg1 As String, ByVal arg2 As String) 'do something End Sub
वाक्यविन्यास स्पष्टीकरण
कोड | कार्य |
---|---|
|
|
|
|
|
|
निम्नलिखित सबरूटीन प्रथम और अंतिम नाम स्वीकार करता है और उन्हें संदेश बॉक्स में प्रदर्शित करता है।
अब हम इस Sub Processor को प्रोग्राम और निष्पादित करने जा रहे हैं। आइये इसे देखें।
VBA में Sub को कैसे कॉल करें
नीचे VBA में Sub को कॉल करने की चरण-दर-चरण प्रक्रिया दी गई है:
- उपयोगकर्ता इंटरफ़ेस डिज़ाइन करें और उपयोगकर्ता नियंत्रणों के लिए गुण सेट करें।
- सबरूटीन जोड़ें
- सबरूटीन को कॉल करने वाले कमांड बटन के लिए क्लिक इवेंट कोड लिखें
- आवेदन का परीक्षण करें
चरण 1) यूजर इंटरफेस
उपयोगकर्ता इंटरफ़ेस को नीचे दी गई छवि के अनुसार डिज़ाइन करें।
निम्नलिखित गुण सेट करें: हम जो गुण सेट कर रहे हैं:
एस / एन | नियंत्रण | संपत्ति | वैल्यू |
---|---|---|---|
1 | कमांडबटन1 | नाम | btnपूर्णनाम प्रदर्शित करें |
2 | शीर्षक | पूरा नाम सबरूटीन |
आपका इंटरफ़ेस अब इस प्रकार दिखना चाहिए।
चरण 2) सबरूटीन जोड़ें
- कोड विंडो खोलने के लिए Alt + F11 दबाएँ
- निम्नलिखित सबरूटीन जोड़ें
Private Sub displayFullName(ByVal firstName As String, ByVal lastName As String) MsgBox firstName & " " & lastName End Sub
यहाँ कोड में,
कोड | क्रियाएँ |
---|---|
|
|
|
|
|
|
चरण 3) सबरूटीन को कॉल करना
कमांड बटन क्लिक इवेंट से सबरूटीन को कॉल करना।
- नीचे दी गई छवि में दिखाए अनुसार कमांड बटन पर राइट क्लिक करें। व्यू कोड चुनें।
- कोड संपादक खुल जाएगा
btnDisplayFullName कमांड बटन के क्लिक इवेंट के लिए कोड एडिटर में निम्नलिखित कोड जोड़ें।
Private Sub btnDisplayFullName_Click() displayFullName "John", "Doe" End Sub
आपकी कोड विंडो अब इस प्रकार दिखाई देगी
परिवर्तन सहेजें और कोड विंडो बंद करें.
चरण 4) कोड का परीक्षण
डेवलपर टूलबार पर डिज़ाइन मोड को 'ऑफ' करें। जैसा कि नीचे दिखाया गया है।
चरण 5) कमांड बटन 'फुलनेम सबरूटीन' पर क्लिक करें।
आपको निम्नलिखित परिणाम मिलेंगे
सारांश
- सबरूटीन कोड का एक टुकड़ा है जो एक विशिष्ट कार्य करता है। सबरूटीन निष्पादन के बाद कोई मान नहीं लौटाता है
- सबरूटीन्स कोड पुनः प्रयोज्यता प्रदान करते हैं
- सबरूटीन्स कोड के बड़े हिस्सों को छोटे प्रबंधनीय कोड में तोड़ने में मदद करते हैं।