एक्सेल 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

वाक्यविन्यास स्पष्टीकरण

कोड कार्य
  • “निजी सब mySubRoutine(…)”
  • यहां कीवर्ड “Sub” का उपयोग “mySubRoutine” नामक सबरूटीन घोषित करने और सबरूटीन के मुख्य भाग को प्रारंभ करने के लिए किया जाता है।
  • सबरूटीन के दायरे को निर्दिष्ट करने के लिए Private कीवर्ड का उपयोग किया जाता है
  • “ByVal arg1 स्ट्रिंग के रूप में, ByVal arg2 स्ट्रिंग के रूप में” :
  • यह स्ट्रिंग डेटा प्रकार नाम arg1 और arg2 के दो पैरामीटर घोषित करता है
  • "अंत उप"
  • “End Sub” का उपयोग सबरूटीन के मुख्य भाग को समाप्त करने के लिए किया जाता है

निम्नलिखित सबरूटीन प्रथम और अंतिम नाम स्वीकार करता है और उन्हें संदेश बॉक्स में प्रदर्शित करता है।

अब हम इस Sub Processor को प्रोग्राम और निष्पादित करने जा रहे हैं। आइये इसे देखें।

VBA में Sub को कैसे कॉल करें

नीचे VBA में Sub को कॉल करने की चरण-दर-चरण प्रक्रिया दी गई है:

  1. उपयोगकर्ता इंटरफ़ेस डिज़ाइन करें और उपयोगकर्ता नियंत्रणों के लिए गुण सेट करें।
  2. सबरूटीन जोड़ें
  3. सबरूटीन को कॉल करने वाले कमांड बटन के लिए क्लिक इवेंट कोड लिखें
  4. आवेदन का परीक्षण करें

चरण 1) यूजर इंटरफेस

उपयोगकर्ता इंटरफ़ेस को नीचे दी गई छवि के अनुसार डिज़ाइन करें।

VBA में Sub को कैसे कॉल करें

निम्नलिखित गुण सेट करें: हम जो गुण सेट कर रहे हैं:

एस / एन नियंत्रण संपत्ति वैल्यू
1 कमांडबटन1 नाम btnपूर्णनाम प्रदर्शित करें
2 शीर्षक पूरा नाम सबरूटीन


आपका इंटरफ़ेस अब इस प्रकार दिखना चाहिए।

VBA में Sub को कैसे कॉल करें

चरण 2) सबरूटीन जोड़ें

  1. कोड विंडो खोलने के लिए Alt + F11 दबाएँ
  2. निम्नलिखित सबरूटीन जोड़ें
Private Sub displayFullName(ByVal firstName As String, ByVal lastName As String)
    MsgBox firstName & " " & lastName
End Sub

यहाँ कोड में,

कोड क्रियाएँ
  • “निजी उप displayFullName(…)”
  • यह एक निजी सबरूटीन displayFullName घोषित करता है जो दो स्ट्रिंग पैरामीटर्स को स्वीकार करता है।
  • “ByVal firstName As String, ByVal lastName As String”
  • यह दो पैरामीटर वैरिएबल घोषित करता है firstName और lastName
  • MsgBox प्रथम नाम अंतिम नाम"
  • यह संदेश को कॉल करता हैBox संदेश बॉक्स प्रदर्शित करने के लिए अंतर्निहित फ़ंक्शन। फिर यह 'firstName' और 'lastName' चर को पैरामीटर के रूप में पास करता है।
  • एम्परसेंड “&” का उपयोग दो चरों को संयोजित करने और उनके बीच रिक्त स्थान जोड़ने के लिए किया जाता है।

चरण 3) सबरूटीन को कॉल करना

कमांड बटन क्लिक इवेंट से सबरूटीन को कॉल करना।

  • नीचे दी गई छवि में दिखाए अनुसार कमांड बटन पर राइट क्लिक करें। व्यू कोड चुनें।
  • कोड संपादक खुल जाएगा

VBA में Sub को कैसे कॉल करें

btnDisplayFullName कमांड बटन के क्लिक इवेंट के लिए कोड एडिटर में निम्नलिखित कोड जोड़ें।

Private Sub btnDisplayFullName_Click()
    displayFullName "John", "Doe"
End Sub

आपकी कोड विंडो अब इस प्रकार दिखाई देगी

VBA में Sub को कैसे कॉल करें

परिवर्तन सहेजें और कोड विंडो बंद करें.

चरण 4) कोड का परीक्षण

डेवलपर टूलबार पर डिज़ाइन मोड को 'ऑफ' करें। जैसा कि नीचे दिखाया गया है।

VBA में Sub को कैसे कॉल करें

चरण 5) कमांड बटन 'फुलनेम सबरूटीन' पर क्लिक करें।

आपको निम्नलिखित परिणाम मिलेंगे

VBA में Sub को कैसे कॉल करें

उपरोक्त एक्सेल कोड डाउनलोड करें

सारांश

  • सबरूटीन कोड का एक टुकड़ा है जो एक विशिष्ट कार्य करता है। सबरूटीन निष्पादन के बाद कोई मान नहीं लौटाता है
  • सबरूटीन्स कोड पुनः प्रयोज्यता प्रदान करते हैं
  • सबरूटीन्स कोड के बड़े हिस्सों को छोटे प्रबंधनीय कोड में तोड़ने में मदद करते हैं।