एक्सेल में वीबीए मैक्रोज़ लिखने पर एक शुरुआती ट्यूटोरियल (और आपको क्यों सीखना चाहिए)

एक्सेल में वीबीए मैक्रोज़ लिखने पर एक शुरुआती ट्यूटोरियल (और आपको क्यों सीखना चाहिए)

एक्सेल मैक्रोज़ आपका बहुत सारा समय बचा सकता है एक्सेल प्रक्रियाओं को स्वचालित करना जिनका आप अक्सर उपयोग करते हैं . लेकिन मैक्रोज़ वास्तव में काफी सीमित हैं। रिकॉर्डिंग टूल के साथ गलती करना आसान है, और रिकॉर्डिंग प्रक्रिया अजीब है।





मैक्रोज़ बनाने के लिए VBA का उपयोग करने से आपको बहुत अधिक शक्ति मिलती है। आप एक्सेल को ठीक-ठीक बता सकते हैं कि क्या करना है और कैसे करना है। आपको बहुत अधिक कार्यों और क्षमताओं तक पहुंच भी मिलती है। यदि आप नियमित रूप से एक्सेल का उपयोग करते हैं, तो यह सीखने लायक है कि वीबीए मैक्रोज़ कैसे बनाया जाता है।





हम मूल बातें शुरू करेंगे।





वीबीए क्या है?

वीबीए अनुप्रयोगों के लिए विजुअल बेसिक है , एक प्रोग्रामिंग भाषा जिसे आप कई Microsoft ऐप्स में उपयोग कर सकते हैं। Visual Basic एक प्रोग्रामिंग भाषा है, और VBA इसका अनुप्रयोग-विशिष्ट संस्करण है। (Microsoft ने 2008 में Visual Basic को वापस बंद कर दिया, लेकिन VBA अभी भी मजबूत हो रहा है)।

सौभाग्य से गैर-प्रोग्रामर के लिए, VBA बहुत सरल है, और इसे संपादित करने के लिए आप जिस इंटरफ़ेस का उपयोग करते हैं, वह बहुत सहायता प्रदान करता है। आप जिन आदेशों का उपयोग करेंगे उनमें से कई पॉप अप सुझावों और स्वचालित पूर्णताओं का उपयोग करेंगे, जिससे आपको अपनी स्क्रिप्ट को तेज़ी से काम करने में मदद मिलेगी।



फिर भी, VBA को इसकी आदत पड़ने में थोड़ा समय लगता है।

एक्सेल में वीबीए मैक्रोज़ के लाभ

यदि मैक्रो रिकॉर्ड करने की तुलना में VBA अधिक कठिन है, तो आप इसका उपयोग क्यों करेंगे? संक्षिप्त उत्तर यह है कि आपको VBA मैक्रोज़ से बहुत अधिक शक्ति मिलती है।





अपनी स्प्रैडशीट पर क्लिक करने और उन क्लिकों को रिकॉर्ड करने के बजाय, आप एक्सेल के कार्यों और क्षमताओं की पूरी श्रृंखला तक पहुँच सकते हैं। आपको बस यह जानने की जरूरत है कि उनका उपयोग कैसे किया जाए।

कोई यूईएफआई फर्मवेयर सेटिंग्स विंडोज़ 10

और एक बार जब आप वीबीए के साथ अधिक सहज हो जाते हैं, तो आप बहुत कम समय में वे सभी काम कर सकते हैं जो आप नियमित मैक्रो में कर सकते हैं। जैसा कि आप एक्सेल को बता रहे हैं, परिणाम भी अधिक अनुमानित होंगे बिल्कुल सही क्या करें। कोई अस्पष्टता बिल्कुल नहीं है।





एक बार जब आप अपना VBA मैक्रो बना लेते हैं, तो इसे सहेजना और साझा करना आसान हो जाता है ताकि कोई और इसका लाभ उठा सके। यह विशेष रूप से तब उपयोगी होता है जब आप बहुत से ऐसे लोगों के साथ काम कर रहे होते हैं जिन्हें Excel में समान कार्य करने की आवश्यकता होती है।

आइए एक साधारण VBA मैक्रो को देखें कि यह कैसे काम करता है।

एक्सेल में वीबीए मैक्रो का एक उदाहरण

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

यह मैक्रो प्रत्येक स्टोर से त्रैमासिक बिक्री जोड़ देगा और उन योगों को स्प्रैडशीट में कक्षों में लिख देगा (यदि आप सुनिश्चित नहीं हैं कि VBA संवाद कैसे एक्सेस करें, तो देखें हमारा VBA पूर्वाभ्यास यहाँ ):

Sub StoreSales()
Dim Sum1 As Currency
Dim Sum2 As Currency
Dim Sum3 As Currency
Dim Sum4 As Currency
For Each Cell In Range('C2:C51')
Cell.Activate
If IsEmpty(Cell) Then Exit For
If ActiveCell.Offset(0, -1) = 1 Then
Sum1 = Sum1 + Cell.Value
ElseIf ActiveCell.Offset(0, -1) = 2 Then
Sum2 = Sum2 + Cell.Value
ElseIf ActiveCell.Offset(0, -1) = 3 Then
Sum3 = Sum3 + Cell.Value
ElseIf ActiveCell.Offset(0, -1) = 4 Then
Sum4 = Sum4 + Cell.Value
End If
Next Cell

Range('F2').Value = Sum1
Range('F3').Value = Sum2
Range('F4').Value = Sum3
Range('F5').Value = Sum4

End Sub

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

उप की घोषणा

मॉड्यूल की शुरुआत में, हमारे पास 'सब स्टोरसेल्स ()' है। यह StoreSales नामक एक नए उप को परिभाषित करता है।

आप फ़ंक्शन को भी परिभाषित कर सकते हैं --- अंतर यह है कि फ़ंक्शन मान वापस कर सकते हैं, और उप नहीं कर सकते हैं (यदि आप अन्य प्रोग्रामिंग भाषाओं से परिचित हैं, तो सब विधियों के बराबर हैं)। इस मामले में, हमें एक मान वापस करने की आवश्यकता नहीं है, इसलिए हम एक उप का उपयोग कर रहे हैं।

मॉड्यूल के अंत में, हमारे पास 'एंड सब' है, जो एक्सेल को बताता है कि हमने इस वीबीए मैक्रो के साथ काम किया है।

चर घोषित करना

हमारी लिपि में कोड की पहली पंक्तियाँ 'मंद' से शुरू होती हैं। एक चर घोषित करने के लिए मंद वीबीए का आदेश है।

तो 'Dim Sum1' एक नया वेरिएबल बनाता है जिसे 'Sum1' कहा जाता है। हालाँकि, हमें एक्सेल को यह बताना होगा कि यह किस प्रकार का चर है। हमें डेटा प्रकार चुनने की आवश्यकता है। वीबीए में कई अलग-अलग डेटा प्रकार हैं --- आप पा सकते हैं: Microsoft के सहायता दस्तावेज़ों में पूरी सूची .

चूंकि हमारा वीबीए मैक्रो मुद्राओं से निपटने जा रहा है, हम मुद्रा डेटा प्रकार का उपयोग कर रहे हैं।

स्टेटमेंट 'डिम सम1 अस करेंसी' एक्सेल को एक नया करेंसी वेरिएबल बनाने के लिए कहता है जिसे Sum1 कहा जाता है। आपके द्वारा घोषित प्रत्येक वेरिएबल में एक्सेल को उसके प्रकार को बताने के लिए 'As' स्टेटमेंट होना आवश्यक है।

लूप के लिए प्रारंभ करना

लूप्स कुछ सबसे शक्तिशाली चीजें हैं जिन्हें आप किसी भी प्रोग्रामिंग भाषा में बना सकते हैं। यदि आप लूप से परिचित नहीं हैं, तो Do-While loops के इस स्पष्टीकरण को देखें। इस उदाहरण में, हम फॉर लूप का उपयोग कर रहे हैं, जिसे लेख में भी शामिल किया गया है।

यहाँ लूप कैसा दिखता है:

For Each Cell in Range('C2:C51')
[a bunch of stuff]
Next Cell

यह एक्सेल को हमारे द्वारा निर्दिष्ट सीमा में कोशिकाओं के माध्यम से पुनरावृति करने के लिए कहता है। हमने a . का उपयोग किया है रेंज वस्तु , जो VBA में एक विशिष्ट प्रकार की वस्तु है। जब हम इसे इस तरह उपयोग करते हैं --- रेंज ('सी 2: सी 51') --- यह एक्सेल को बताता है कि हम उन 50 कोशिकाओं में रुचि रखते हैं।

'प्रत्येक के लिए' एक्सेल को बताता है कि हम रेंज में प्रत्येक सेल के साथ कुछ करने जा रहे हैं। 'नेक्स्ट सेल' हम जो कुछ भी करना चाहते हैं उसके बाद आता है, और एक्सेल को शुरुआत से लूप शुरू करने के लिए कहता है (अगले सेल से शुरू)।

हमारे पास यह कथन भी है: 'यदि खाली है (सेल) तो बाहर निकलें।'

क्या आप अनुमान लगा सकते हैं कि यह क्या करता है?

ध्यान दें: सच पूछिये तो, जबकि लूप का उपयोग करना एक बेहतर विकल्प हो सकता है . हालाँकि, शिक्षण के लिए, मैंने एक निकास के साथ फॉर लूप का उपयोग करने का निर्णय लिया।

वर्ड में लाइन कैसे डिलीट करें

अगर-तब-अन्य कथन

इस विशेष मैक्रो का मूल यदि-तब-अन्य कथनों में है। यहाँ सशर्त बयानों का हमारा क्रम है:

If ActiveCell.Offset(0, -1) = 1 Then
Sum1 = Sum1 + Cell.Value
ElseIf ActiveCell.Offset(0, -1) = 2 Then
Sum2 = Sum2 + Cell.Value
ElseIf ActiveCell.Offset(0, -1) = 3 Then
Sum3 = Sum3 + Cell.Value
ElseIf ActiveCell.Offset(0, -1) = 4 Then
Sum4 = Sum4 + Cell.Value
End If

अधिकांश भाग के लिए, आप शायद अनुमान लगा सकते हैं कि ये कथन क्या करते हैं। हालाँकि, आप ActiveCell.Offset से परिचित नहीं होंगे। 'ActiveCell.Offset(0, -1)' एक्सेल को उस सेल को देखने के लिए कहता है जो सक्रिय सेल के बाईं ओर एक कॉलम है।

हमारे मामले में, वह एक्सेल को स्टोर नंबर कॉलम से परामर्श करने के लिए कह रहा है। यदि एक्सेल को इस कॉलम में 1 मिलता है, तो यह सक्रिय सेल की सामग्री लेता है और इसे Sum1 में जोड़ता है। यदि यह 2 पाता है, तो यह सक्रिय सेल की सामग्री को Sum2 में जोड़ता है। और इसी तरह।

एक्सेल इन सभी कथनों को क्रम से देखता है। अगर सशर्त बयान संतुष्ट है, यह तत्कालीन कथन को पूरा करता है। यदि नहीं, तो यह अगले ElseIf में चला जाता है। अगर यह अंत तक जाता है और कोई भी शर्त पूरी नहीं हुई है, तो यह कोई कार्रवाई नहीं करेगा।

लूप और कंडीशनल का संयोजन ही इस मैक्रो को चलाता है। लूप एक्सेल को चयन में प्रत्येक सेल के माध्यम से जाने के लिए कहता है, और सशर्त यह बताता है कि उस सेल के साथ क्या करना है।

सेल वैल्यू लिखना

अंत में, हमें अपनी गणना के परिणाम कोशिकाओं को लिखने को मिलते हैं। यहाँ वे पंक्तियाँ हैं जिनका उपयोग हम ऐसा करने के लिए करते हैं:

Range('F2').Value = Sum1
Range('F3').Value = Sum2
Range('F4').Value = Sum3
Range('F5').Value = Sum4

'.Value' और एक बराबर चिह्न के साथ, हम उनमें से प्रत्येक सेल को हमारे किसी एक वेरिएबल के मान पर सेट करते हैं।

और बस! हम एक्सेल को बताते हैं कि हमने इस सब को 'एंड सब' के साथ लिखना समाप्त कर दिया है और वीबीए मैक्रो पूरा हो गया है।

जब हम मैक्रो को के साथ चलाते हैं मैक्रो में बटन डेवलपर टैब, हमें हमारी रकम मिलती है:

एक्सेल में वीबीए के बिल्डिंग ब्लॉक्स को एक साथ रखना

जब आप पहली बार ऊपर दिए गए VBA मैक्रो को देखते हैं, तो यह काफी जटिल लगता है। लेकिन इसे इसके घटक भागों में तोड़ने के बाद, तर्क स्पष्ट हो जाता है। किसी भी स्क्रिप्टिंग भाषा की तरह, VBA के सिंटैक्स के अभ्यस्त होने में समय लगता है।

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

जब आप फंस जाते हैं, तो Google खोज चलाना आपके VBA प्रश्नों के उत्तर पाने का एक त्वरित तरीका है। और माइक्रोसॉफ्ट का एक्सेल वीबीए संदर्भ यदि आप तकनीकी उत्तर के लिए इसके माध्यम से खोदने के इच्छुक हैं तो सहायक हो सकता है।

एक बार जब आप बुनियादी बातों के साथ सहज हो जाते हैं, तो आप VBA का उपयोग इस तरह की चीजों के लिए शुरू कर सकते हैं एक्सेल से ईमेल भेजना , आउटलुक कार्यों को निर्यात करना, और अपनी पीसी जानकारी प्रदर्शित करना।

youtube पर हाइलाइट की गई टिप्पणी क्या है
साझा करना साझा करना कलरव ईमेल यहां बताया गया है कि एफबीआई ने हाइव रैनसमवेयर के लिए चेतावनी क्यों जारी की

एफबीआई ने रैंसमवेयर के विशेष रूप से खराब तनाव के बारे में चेतावनी जारी की। यहां बताया गया है कि आपको हाइव रैंसमवेयर से विशेष रूप से सावधान रहने की आवश्यकता क्यों है।

आगे पढ़िए
संबंधित विषय
  • उत्पादकता
  • स्प्रेडशीट
  • माइक्रोसॉफ्ट एक्सेल
  • माइक्रोसॉफ्ट ऑफिस 2016
  • मैक्रो
  • कोडिंग ट्यूटोरियल
लेखक के बारे में फिर अलब्राइट(506 लेख प्रकाशित)

डैन एक कंटेंट स्ट्रैटेजी और मार्केटिंग कंसल्टेंट है जो कंपनियों को डिमांड और लीड जेनरेट करने में मदद करता है। वह dannalbright.com पर रणनीति और सामग्री विपणन के बारे में भी ब्लॉग करता है।

डैन अलब्राइट . की अन्य फ़िल्में-टीवी शो

हमारे न्यूज़लेटर की सदस्यता लें

तकनीकी युक्तियों, समीक्षाओं, निःशुल्क ई-पुस्तकों और अनन्य सौदों के लिए हमारे न्यूज़लेटर से जुड़ें!

सब्सक्राइब करने के लिए यहां क्लिक करें