एक्सेल में VBA: एप्लीकेशन के लिए विजुअल बेसिक क्या है, इसका उपयोग कैसे करें
Everybody in this country should learn how to program a computer... because it teaches you how to think." -Steve Jobs
मैं स्टीव जॉब्स के बुद्धिमानी भरे शब्दों को आगे बढ़ाते हुए कहना चाहता हूँ कि दुनिया में हर किसी को कंप्यूटर प्रोग्राम करना सीखना चाहिए। हो सकता है कि आप प्रोग्रामर के तौर पर काम न करें या प्रोग्राम न लिखें, लेकिन यह आपको सोचना सिखाएगा।
विजुअल बेसिक फॉर एप्लीकेशन (VBA) क्या है?
अनुप्रयोगों के लिए विजुअल बेसिक (VBA) एक घटना-संचालित प्रोग्रामिंग भाषा है जिसे द्वारा कार्यान्वित किया जाता है Microsoft Office अनुप्रयोग विकसित करने के लिए। VBA स्वचालन प्रक्रियाओं को विकसित करने में मदद करता है, Windows API, और उपयोगकर्ता-परिभाषित फ़ंक्शन। यह आपको होस्ट एप्लिकेशन की उपयोगकर्ता इंटरफ़ेस सुविधाओं में हेरफेर करने में भी सक्षम बनाता है।
इससे पहले कि हम आगे की जानकारी में जाएँ, आइए देखें कि आम आदमी की भाषा में कंप्यूटर प्रोग्रामिंग क्या है। मान लीजिए कि आपके पास एक नौकरानी है। अगर आप चाहते हैं कि नौकरानी घर की सफाई करे और कपड़े धोए। आप उसे अंग्रेजी में बताएँ कि उसे क्या करना है और वह आपके लिए काम कर देगी। जब आप कंप्यूटर के साथ काम करते हैं, तो आप कुछ खास काम करना चाहेंगे। जैसे आपने नौकरानी को घर के काम करने के लिए कहा, वैसे ही आप कंप्यूटर को भी अपने काम करने के लिए कह सकते हैं।
कंप्यूटर को यह बताने की प्रक्रिया कि आप उससे क्या करवाना चाहते हैं, उसे कंप्यूटर प्रोग्रामिंग कहते हैं। जिस तरह आपने नौकरानी को यह बताने के लिए अंग्रेजी का इस्तेमाल किया कि उसे क्या करना है, उसी तरह आप कंप्यूटर को यह बताने के लिए अंग्रेजी जैसे कथनों का भी इस्तेमाल कर सकते हैं कि उसे क्या करना है। अंग्रेजी जैसे कथन उच्च स्तरीय भाषाओं की श्रेणी में आते हैं। VBA एक उच्च स्तरीय भाषा है जिसका उपयोग आप एक्सेल को अपनी इच्छानुसार मोड़ने के लिए कर सकते हैं।
VBA वास्तव में Visual Basic 6.0 का एक उपसमूह है। BASIC का अर्थ है Bईगिनर्स All-उद्देश्य Sप्रतीकात्मक Instruction Cस्तोत्र.
VBA क्यों?
VBA आपको विभिन्न एप्लिकेशन बनाने के लिए निर्देश लिखने के लिए अंग्रेजी जैसे कथनों का उपयोग करने में सक्षम बनाता है। VBA सीखना आसान है, और इसका उपयोग करना आसान यूजर इंटरफ़ेस है जिसमें आपको बस इंटरफ़ेस नियंत्रणों को खींचना और छोड़ना है। यह आपको एक्सेल की कार्यक्षमता को बढ़ाने की भी अनुमति देता है, जिससे यह आपके इच्छित तरीके से व्यवहार करता है।
एक्सेल में VBA के व्यक्तिगत एवं व्यावसायिक अनुप्रयोग
निजी इस्तेमाल के लिए, आप इसे सरल मैक्रोज़ के लिए इस्तेमाल कर सकते हैं जो आपके ज़्यादातर नियमित कार्यों को स्वचालित कर देगा। आप इसे कैसे हासिल कर सकते हैं, इस बारे में ज़्यादा जानकारी के लिए मैक्रोज़ पर लेख पढ़ें।
व्यावसायिक उपयोग के लिए, आप एक्सेल और VBA द्वारा संचालित पूर्ण शक्तिशाली प्रोग्राम बना सकते हैं। इस दृष्टिकोण का लाभ यह है कि आप अपने स्वयं के कस्टम प्रोग्राम में एक्सेल की शक्तिशाली विशेषताओं का लाभ उठा सकते हैं।
अनुप्रयोगों के लिए विज़ुअल बेसिक का परिचय
इससे पहले कि हम कोई भी कोड लिखें, हमें पहले मूल बातें जाननी होंगी। निम्नलिखित मूल बातें आपको आरंभ करने में मदद करेंगी।
- परिवर्तनीय - हाई स्कूल में हमने बीजगणित के बारे में सीखा। (x + 2y) ज्ञात करें जहाँ x = 1 और y = 3 है। इस अभिव्यक्ति में, x और y चर हैं। उन्हें कोई भी संख्या दी जा सकती है, जैसे कि इस उदाहरण में क्रमशः 1 और 3। उन्हें क्रमशः 4 और 2 कहने के लिए भी बदला जा सकता है। संक्षेप में चर मेमोरी स्थान हैं। जैसा कि आप VBA Excel के साथ काम करते हैं, आपको बीजगणित कक्षाओं की तरह चर भी घोषित करने की आवश्यकता होगी।
-
चर बनाने के नियम
- आरक्षित शब्दों का प्रयोग न करें - यदि आप एक छात्र के रूप में काम करते हैं, तो आप व्याख्याता या प्रिंसिपल शीर्षक का उपयोग नहीं कर सकते। ये शीर्षक व्याख्याताओं और स्कूल प्राधिकरण के लिए आरक्षित हैं। आरक्षित शब्द वे शब्द हैं जिनका Excel VBA में विशेष अर्थ होता है और इस तरह, आप उन्हें चर नामों के रूप में उपयोग नहीं कर सकते।
- चर नामों में रिक्त स्थान नहीं हो सकते - आप पहले नंबर नामक चर को परिभाषित नहीं कर सकते। आप firstNumber या first_number का उपयोग कर सकते हैं।
- वर्णनात्मक नामों का उपयोग करें - किसी वैरिएबल का नाम अपने नाम पर रखना बहुत लुभावना होता है, लेकिन इससे बचें। वर्णनात्मक नामों का उपयोग करें जैसे कि मात्रा, मूल्य, उप-योग आदि। इससे आपका एक्सेल VBA कोड पढ़ने में आसान हो जाएगा
-
अंकगणितीय ऑपरेटर – के नियम Brackets विभाजन गुणन जोड़ और घटाव (BODMAS) के लिए कई अलग-अलग अंकगणितीय ऑपरेटरों का उपयोग करने वाले अभिव्यक्तियों के साथ काम करते समय उन्हें लागू करना याद रखें। एक्सेल की तरह ही, आप इसका उपयोग कर सकते हैं
- + जोड़ने के लिए
- – घटाने के लिए
- *गुणन के लिए
- / विभाजन के लिए.
-
लॉजिकल ऑपरेटर्स – पिछले ट्यूटोरियल में शामिल लॉजिकल ऑपरेटर्स की अवधारणा VBA के साथ काम करते समय भी लागू होती है। इनमें शामिल हैं
- यदि कथन
- OR
- नहीं
- और
- जब सही है
- असत्य
डेवलपर टैब को सक्षम कैसे करें
नीचे एक्सेल में डेवलपर टैब को सक्षम करने की चरण-दर-चरण प्रक्रिया दी गई है:
- नई कार्यपुस्तिका बनाएँ
- रिबन स्टार्ट बटन पर क्लिक करें
- विकल्प चुनो
- अनुकूलित रिबन पर क्लिक करें
- नीचे दी गई छवि में दिखाए अनुसार डेवलपर चेकबॉक्स का चयन करें
- ठीक क्लिक करें
अब आप रिबन में DEVELOPER टैब देख पाएंगे
VBA नमस्ते दुनिया!
अब हम VBA प्रोग्रामिंग भाषा में प्रोग्राम करने का तरीका दिखाएंगे। VBA में सभी प्रोग्राम को “Sub” से शुरू करना होता है और “End sub” पर खत्म करना होता है। यहाँ नाम वह नाम है जिसे आप अपने प्रोग्राम को देना चाहते हैं। जबकि sub का मतलब सबरूटीन है जिसे हम ट्यूटोरियल के बाद के भाग में सीखेंगे।
Sub name() . . . End Sub
हम एक बुनियादी VBA प्रोग्राम बनाएंगे जो उपयोगकर्ता का नाम पूछने के लिए एक इनपुट बॉक्स प्रदर्शित करेगा और फिर एक अभिवादन संदेश प्रदर्शित करेगा
यह ट्यूटोरियल मानता है कि आपने ट्यूटोरियल पूरा कर लिया है एक्सेल में मैक्रोज़ और एक्सेल में डेवलपर टैब सक्षम किया है।
- एक नई कार्य पुस्तिका बनाएं
- इसे एक्सेल मैक्रो सक्षम वर्कशीट प्रारूप *.xlsm में सहेजें
- डेवलपर टैब पर क्लिक करें
- नियंत्रण रिबन बार के अंतर्गत INSERT ड्रॉप डाउन बॉक्स पर क्लिक करें
- नीचे दी गई छवि में दिखाए अनुसार कमांड बटन का चयन करें
वर्कशीट पर कहीं भी कमांड बटन बनाएं
आपको निम्नलिखित संवाद विंडो मिलेगी
- मैक्रो नाम को बदलकर btnHelloWorld_Click करें
- नये बटन पर क्लिक करें
- आपको निम्न VBA कोड विंडो मिलेगी
निम्नलिखित निर्देश कोड दर्ज करें
Dim name As String name = InputBox("Enter your name") MsgBox "Hello " + name
यहाँ,
- “नाम को स्ट्रिंग के रूप में मंद करें” नाम नामक एक वैरिएबल बनाता है। वैरिएबल टेक्स्ट, संख्यात्मक और अन्य वर्ण स्वीकार करेगा क्योंकि हमने इसे एक स्ट्रिंग के रूप में परिभाषित किया है
- “नाम = इनपुटBox("अपना नाम दर्ज करें")" अंतर्निहित फ़ंक्शन इनपुट को कॉल करता हैBox जो एक विंडो प्रदर्शित करता है जिसमें कैप्शन लिखा होता है अपना नाम दर्ज करें। दर्ज किया गया नाम फिर नाम वेरिएबल में संग्रहीत किया जाता है।
- "MsgBox “नमस्ते” + नाम” अंतर्निहित फ़ंक्शन Msg को कॉल करता हैBox जो हैलो और प्रविष्ट नाम प्रदर्शित करता है।
आपकी पूरी कोड विंडो अब इस प्रकार दिखाई देगी
- कोड विंडो बंद करें
- बटन 1 पर राइट क्लिक करें और टेक्स्ट संपादित करें चुनें
- नमस्ते कहें
- नमस्ते कहें पर क्लिक करें
- आपको निम्नलिखित इनपुट बॉक्स मिलेगा
- अपना नाम दर्ज करें अर्थात जॉर्डन
- आपको निम्न संदेश बॉक्स मिलेगा
बधाई हो, आपने अभी एक्सेल में अपना पहला VBA प्रोग्राम बनाया है
एक्सेल में सरल EMI कैलकुलेटर बनाने का चरण दर चरण उदाहरण
इस ट्यूटोरियल अभ्यास में, हम एक सरल प्रोग्राम बनाने जा रहे हैं जो EMI की गणना करता है। EMI का मतलब है इक्वेटेड मंथली इंस्टालमेंट। यह वह मासिक राशि है जो आप लोन लेने पर चुकाते हैं। नीचे दी गई छवि EMI की गणना करने का सूत्र दिखाती है।
उपरोक्त सूत्र जटिल है और इसे एक्सेल में लिखा जा सकता है। अच्छी खबर यह है कि एक्सेल ने पहले से ही उपरोक्त समस्या का समाधान कर लिया है। आप उपरोक्त गणना करने के लिए PMT फ़ंक्शन का उपयोग कर सकते हैं।
PMT फ़ंक्शन निम्न प्रकार काम करता है
=PMT(rate,nper,pv)
यहाँ,
- "दर" यह मासिक दर है। यह प्रति वर्ष भुगतान की संख्या से विभाजित ब्याज दर है
- “एनपीईआर” यह भुगतानों की कुल संख्या है। यह प्रति वर्ष भुगतानों की संख्या से गुणा किया गया ऋण अवधि है
- “पीवी” वर्तमान मूल्य। यह वास्तविक ऋण राशि है
नीचे दिखाए अनुसार एक्सेल सेल का उपयोग करके GUI बनाएं
पंक्ति 7 और 8 के बीच एक कमांड बटन जोड़ें
बटन मैक्रो को btnCalculateEMI_Click नाम दें
संपादन बटन पर क्लिक करें
निम्नलिखित कोड दर्ज करें
Dim monthly_rate As Single, loan_amount As Double, number_of_periods As Single, emi As Double monthly_rate = Range("B6").Value / Range("B5").Value loan_amount = Range("B3").Value number_of_periods = Range("B4").Value * Range("B5").Value emi = WorksheetFunction.Pmt(monthly_rate, number_of_periods, -loan_amount) Range("B9").Value = emi
यहाँ,
- “मंद मासिक दर एकल के रूप में,…” Dim वह कीवर्ड है जिसका उपयोग परिभाषित करने के लिए किया जाता है VBA में चर, मासिक_दर चर का नाम है, सिंगल डेटा प्रकार है जिसका अर्थ है कि चर संख्या स्वीकार करेगा।
- “मासिक_दर = रेंज(“B6”).मूल्य / रेंज(“B5”).मूल्य” Range वह फ़ंक्शन है जिसका उपयोग VBA से एक्सेल सेल तक पहुंचने के लिए किया जाता है, Range(“B6”).Value B6 में मान का संदर्भ देता है
- “वर्कशीटफ़ंक्शन.Pmt(…)” WorksheetFunction वह फ़ंक्शन है जिसका उपयोग एक्सेल में सभी फ़ंक्शन तक पहुंचने के लिए किया जाता है
निम्नलिखित छवि संपूर्ण स्रोत कोड दिखाती है
- सेव पर क्लिक करें और कोड विंडो बंद करें
- नीचे दी गई एनिमेटेड छवि में दिखाए अनुसार अपने प्रोग्राम का परीक्षण करें
एक्सेल उदाहरण में VBA का उपयोग कैसे करें
निम्नलिखित चरण बताएंगे कि Excel में VBA का उपयोग कैसे करें।
चरण 1) अपना VBA संपादक खोलें
मुख्य मेनू से डेवलपर टैब के अंतर्गत, "विज़ुअल बेसिक" आइकन पर क्लिक करें, यह आपका VBA संपादक खोल देगा।
चरण 2) एक्सेल शीट का चयन करें & Double वर्कशीट पर क्लिक करें
यह एक VBA संपादक खोलेगा, जहाँ से आप एक्सेल शीट का चयन कर सकते हैं जहाँ आप कोड चलाना चाहते हैं। VBA संपादक खोलने के लिए वर्कशीट पर डबल क्लिक करें।
यह फ़ोल्डर के दाईं ओर एक VBA संपादक खोलेगा। यह एक सफेद स्थान की तरह दिखाई देगा।
चरण 3) संदेश में जो कुछ भी आप प्रदर्शित करना चाहते हैं उसे लिखेंBox
इस चरण में हम अपना पहला VBA प्रोग्राम देखने जा रहे हैं। अपने प्रोग्राम को पढ़ने और प्रदर्शित करने के लिए हमें एक ऑब्जेक्ट की आवश्यकता होती है। VBA में वह ऑब्जेक्ट या माध्यम Msg में होता हैBox.
- सबसे पहले “Sub” लिखें और फिर अपना “प्रोग्राम नाम” (Guru99)
- संदेश में जो कुछ भी आप प्रदर्शित करना चाहते हैं उसे लिखेंBox (गुरु99-सीखना मजेदार है)
- End Sub द्वारा कार्यक्रम समाप्त करें
चरण 4) संपादक के शीर्ष पर हरे रंग के रन बटन पर क्लिक करें
अगले चरण में आपको एडिटर मेनू के शीर्ष पर हरे रंग के रन बटन पर क्लिक करके इस कोड को चलाना होगा।
चरण 5) शीट का चयन करें और “रन” बटन पर क्लिक करें
जब आप कोड चलाएँगे, तो एक और विंडो खुलेगी। यहाँ आपको वह शीट चुननी है जहाँ आप प्रोग्राम प्रदर्शित करना चाहते हैं और “रन” बटन पर क्लिक करें
चरण 6) संदेश को संदेश में प्रदर्शित करेंBox
जब आप रन बटन पर क्लिक करेंगे, तो प्रोग्राम निष्पादित हो जाएगा। यह Msg में msg प्रदर्शित करेगाBox.
उपरोक्त एक्सेल कोड डाउनलोड करें
सारांश
VBA का पूरा नाम: Visual Basic for Application. यह Visual Basic प्रोग्रामिंग भाषा का एक उप-घटक है जिसका उपयोग आप एक्सेल में एप्लिकेशन बनाने के लिए कर सकते हैं। VBA के साथ, आप अभी भी एक्सेल की शक्तिशाली सुविधाओं का लाभ उठा सकते हैं और उन्हें VBA में उपयोग कर सकते हैं।