ये मेरे शो नोट्स हैं जो टेकटीवी कनाडा पर मदद के लिए कॉल के एपिसोड 33 पर मेरी उपस्थिति से हैं।
VBA मैक्रो रिकॉर्डर
1995 के बाद से बेची गई एक्सेल की हर कॉपी में अनुप्रयोगों के लिए अविश्वसनीय रूप से शक्तिशाली विजुअल बेसिक (वीबीए) शामिल है जो कोशिकाओं के पीछे छिपे हुए हैं। यदि आपके पास एक्सेल है, तो आपके पास VBA है।
VBA आपको एक्सेल में कर सकने वाली किसी भी चीज़ को स्वचालित करने की अनुमति देता है, साथ ही ऐसी और चीज़ें भी करता है जो आमतौर पर एक्सेल में संभव नहीं होती हैं।
हमारे लिए सौभाग्य से, Microsoft में एक्सेल के साथ एक मैक्रो रिकॉर्डर शामिल था। यह आपको प्रोग्रामर न होकर VBA कोड लिखने की सुविधा देता है। दुर्भाग्य से, मैक्रो रिकॉर्डर त्रुटिपूर्ण है। यह कोड का उत्पादन नहीं करेगा जो हर बार काम करेगा। मैक्रो रिकॉर्डर आपको पास मिलेगा, लेकिन कई मामलों में आपको मज़बूती से काम करने के लिए कोड को थोड़ा ठीक करना होगा। अन्य मामलों में, आपको यह जानना होगा कि मैक्रो काम करने के लिए रिलेटिव रिकॉर्डिंग का उपयोग कब करना है।
ट्रेसी सीरस्टैड और मैंने रिकॉर्ड किए गए कोड की सीमाओं को समझने और आपको यह सिखाने के लिए VBA और Macros Microsoft Excel 2016 को लिखा कि कैसे कुछ में दर्ज कोड को ठीक करना है जो हर बार काम करेगा।
शो में, मैंने एक मैक्रो रिकॉर्ड करने की प्रक्रिया का प्रदर्शन किया जो पूरी तरह से काम करेगा यदि आप जानते हैं कि रिलेटिव रेफरेंस बटन का उपयोग कैसे करें। किसी ने मुझे सैकड़ों नामों और पते के साथ एक्सेल वर्कशीट दी थी। वे मेलिंग लेबल चाहते थे। यदि आपने कभी Microsoft Word मेल मर्ज सुविधा का उपयोग किया है, तो आप जानते हैं कि आपको वर्कशीट में एक नए कॉलम में प्रत्येक फ़ील्ड की आवश्यकता है। इसके बजाय, इस विशेष वर्कशीट में डेटा ए कॉलम नीचे जा रहा था।

एक एकल लेबल को ठीक करने की प्रक्रिया बहुत थकाऊ है।
- कॉलम A में नाम पर सेल पॉइंटर से शुरू करें।
- पते पर जाने के लिए नीचे तीर मारो
- कट करने के लिए Ctrl + x
- ऊपर तीर, नाम के आगे कॉलम B पर जाने के लिए दायां तीर
- पेस्ट करने के लिए Ctrl + v
- तीर से दो बार, बायाँ तीर एक बार शहर में जाने के लिए
- कट करने के लिए Ctrl + x
- ऊपर तीर दो बार, दाहिना तीर ट्राइस
- पेस्ट करने के लिए Ctrl + v
- बायां तीर दो बार, नीचे तीर एक बार अब खाली पंक्ति में जाने के लिए।
- दो बार डाउन एरो को हिट करते समय शिफ्ट की को दबाए रखें
- रिक्त पंक्तियों को हटाने के लिए Alt + edr
- ऊपर तीर और नीचे तीर फिर से सिर्फ नाम का चयन करने के लिए।
यहाँ एनीमेशन इन चरणों को दिखा रहा है:

मैक्रोज़ को अनुमति देने के लिए एक्सेल की स्थापना
हालाँकि एक्सेल की हर कॉपी में VBA होता है, डिफ़ॉल्ट रूप से, Microsoft मैक्रोज़ को चलाने की क्षमता को बंद कर देता है। मैक्रोज़ को चलाने के लिए आपको एक बार का समायोजन करने की आवश्यकता है। एक्सेल खोलें। मेनू से, उपकरण> मैक्रो> सुरक्षा चुनें। यदि आप वर्तमान में मैक्रो सुरक्षा स्तर उच्च पर सेट हैं, तो इसे माध्यम में बदलें।

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

यदि आप इस मैक्रो को कई दिनों से चला रहे हैं, तो आपको मैक्रो को एक उपयोगी नाम देना चाहिए। यदि यह एक बार के कार्य को स्वचालित करने के लिए एक बार का मैक्रो है, तो मैक्रो नाम को मैक्रो 1 के रूप में छोड़ना शायद ठीक है। यहां महत्वपूर्ण क्षेत्र शॉर्टकट कुंजी क्षेत्र है। यदि आप एक बार उपयोग के लिए मैक्रो बना रहे हैं, तो मैक्रो को शॉर्टकट कुंजी जैसे कि Ctrl + a - असाइन करें, Ctrl + को बार-बार हिट करना बहुत आसान है क्योंकि कुंजी एक दूसरे के करीब हैं। यदि आप एक मैक्रो बनाने जा रहे हैं जिसे आप हर दिन उपयोग कर रहे हैं, तो आप मैक्रो को एक कुंजी पर असाइन करना चाहते हैं जो पहले से ही एक महत्वपूर्ण शॉर्टकट कुंजी संयोजन नहीं है। Ctrl + j या Ctrl + k अच्छे विकल्प हैं।
एक बार उपयोग मैक्रोज़ को इस वॉर्कबुक में संग्रहीत किया जाना चाहिए। यदि आपको कई अलग-अलग कार्यपुस्तिकाओं पर बार-बार मैक्रो का उपयोग करने की आवश्यकता है, तो आप मैक्रो को व्यक्तिगत मैक्रो वर्कबुक में संग्रहीत कर सकते हैं।

अब आप एक्सेल के सभी में सबसे नन्हा टूलबार प्रस्तुत कर रहे हैं; स्टॉप रिकॉर्डिंग टूलबार। इसके दो चिह्न हैं और यह इस तरह दिखता है:

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

हमारे वर्तमान उदाहरण में, आपको शुरू करने से पहले संबंधित संदर्भ बटन को दबाया जाना चाहिए। यदि आप किसी मैक्रो को सापेक्ष संदर्भों के साथ चालू करते हैं, तो Excel इस तरह के चरणों को रिकॉर्ड करेगा:
- एक सेल नीचे ले जाएँ
- वर्तमान सेल को काटें
- एक सेल ऊपर ले जाएँ
- एक सेल सही ले जाएँ
- चिपकाना
- आदि।
यदि आप मैक्रो को सापेक्ष संदर्भों के बिना रिकॉर्ड करेंगे, तो मैक्रो इन चरणों को रिकॉर्ड करेगा:
- सेल A4 पर जाएँ
- कट सेल A4
- सेल A3 में ले जाएँ
- सेल B3 पर जाएँ
- सेल बी 3 के लिए पेस्ट करें
- आदि।
यह बहुत ही गलत होगा - हमें उन कोशिकाओं पर काम करने के लिए मैक्रो की जरूरत है जो मैक्रो के शुरुआती बिंदु से 1 और 2 सेल हैं। जब आप मैक्रो को बार-बार चलाते हैं, तो शुरुआती बिंदु पंक्ति 4, पंक्ति 5, पंक्ति 6, आदि होगा। मैक्रो को रिकॉर्ड करने के बिना संबंधित संदर्भ चालू होने पर मैक्रो हमेशा शुरुआती बिंदु के रूप में पंक्ति 3 पर चलेगा।
इन चरणों का पालन करें:
- स्टॉप रिकॉर्डिंग टूलबार पर सापेक्ष संदर्भ बटन चुनें
- सेल पॉइंटर पहले से ही कॉलम A में एक नाम पर होना चाहिए।
- पते पर जाने के लिए नीचे तीर मारो
- कट करने के लिए Ctrl + x
- ऊपर तीर, नाम के आगे कॉलम B पर जाने के लिए दायां तीर
- पेस्ट करने के लिए Ctrl + v
- तीर से दो बार, बायाँ तीर एक बार शहर में जाने के लिए
- कट करने के लिए Ctrl + x
- ऊपर तीर दो बार, दाहिना तीर ट्राइस
- पेस्ट करने के लिए Ctrl + v
- बायां तीर दो बार, नीचे तीर एक बार अब खाली पंक्ति में जाने के लिए।
- दो बार डाउन एरो को हिट करते समय शिफ्ट की को दबाए रखें
- रिक्त पंक्तियों को हटाने के लिए Alt + edr
- सूची में अगला नाम चुनने के लिए ऊपर और नीचे तीर।
- स्टॉप रिकॉर्डिंग टूलबार हिट करें
- कार्यपुस्तिका सहेजें
- ऊपर दी गई शॉर्टकट कुंजी को दबाकर मैक्रो का परीक्षण करें। यह सूची में अगले नाम को पूरी तरह से ठीक करना चाहिए

एक बार जब आप देखते हैं कि मैक्रो वांछित के रूप में काम करता है, तो आप प्रति सेकंड कुछ नामों को तेजी से ठीक करने के लिए Ctrl + a दबा सकते हैं। 500 नामों की पूरी सूची एक या दो मिनट में तय की जा सकती है।

बोनस टिप - शो पर नहीं
आप एक साधारण लूप में मैक्रो को आसानी से लपेट सकते हैं ताकि आपके पास Ctrl + कई सौ बार हिट करने के बिना सभी 500 नामों को ठीक कर सकें।
मैक्रो संपादक को खोलने के लिए Alt + F11 कुंजी को हिट करें।
यदि आप प्रोजेक्ट नहीं देखते हैं - VBAProject फलक, Ctrl + r दबाएं।

मॉड्यूल 1 पर राइट-क्लिक करें और कोड देखें। आप कोड देखेंगे जो इस तरह दिखता है:

अब, आपको यह समझने की ज़रूरत नहीं है कि यह कोड क्या करता है, लेकिन आप जानते हैं कि हम उस मैक्रो में हर चीज को एक बार चलाना चाहते हैं जो हमारे पास है। यदि आप जानते हैं कि 462 नाम हैं, तो आप 462 बार कोड को चलाने के लिए 2 लाइनें जोड़ सकते हैं। मैक्रो के शीर्ष पर, " For i = 1 to 462
" शब्दों के साथ एक नई लाइन डालें । मैक्रो के नीचे, एक पंक्ति डालें जो " Next i
" कहती है । यह VBA को 462 बार कोड चलाने के लिए कहता है।

निष्कर्ष
इस सरल मैक्रो के बाद, मैंने एक बहुत जटिल मैक्रो के शो पर एक उदाहरण दिखाया। इस मैक्रो ने एक कंपनी के 46 विभागों के लिए पिवट टेबल और चार्ट बनाए। इस रिपोर्ट में हर महीने 40 घंटे लगते थे। VBA मैक्रो अब 2 मिनट से कम समय में सभी 46 रिपोर्ट चलाता है और बनाता है।
पुस्तक VBA और मैक्रोज़ माइक्रोसॉफ्ट एक्सेल 2016 आपको सीखने की अवस्था तक ले जाएगा ताकि आप इस तरह से सरल मैक्रोज़ रिकॉर्ड करने से लेकर बहुत जटिल रिपोर्ट चला सकें जो आपको प्रति वर्ष सैकड़ों घंटे बचा सकते हैं। बेशक, यदि आप VBA सीखना नहीं चाहते हैं, तो आपके लिए एक रिपोर्ट डिज़ाइन करने के लिए एक Excel सलाहकार को काम पर रखें।