विभिन्न डेटा स्रोतों के साथ काम करते समय, आप एक अंतिम डेटा टुकड़े पर पहुंचने से पहले कई कार्यपुस्तिकाओं और कार्यपत्रकों को संकलित करने के लिए अक्सर संघर्ष कर सकते हैं। ऐसी स्थिति की कल्पना करें जहां आपके पास अपना दिन शुरू करने से पहले ही कुछ सौ कार्यपुस्तिकाएं गठबंधन करने के लिए हों।

अंत में एक समेकित कार्यपुस्तिका बनाने से पहले, कोई भी विभिन्न स्रोतों पर काम करने, प्रत्येक कार्यपुस्तिका को खोलने, विभिन्न शीटों से डेटा को कॉपी और पेस्ट करने में अंतहीन घंटे खर्च नहीं करना चाहता। क्या होगा यदि एक वीबीए मैक्रो आपके लिए यह कर सकता है?

इस गाइड के साथ, आप कई कार्यपुस्तिकाओं को समेकित करने के लिए अपना स्वयं का एक्सेल वीबीए मैक्रो कोड बना सकते हैं, सभी मिनटों में (यदि डेटा फ़ाइलें बहुत अधिक हैं)।

अपना खुद का वीबीए मैक्रो कोड बनाने के लिए पूर्व-आवश्यकताएं

वीबीए कोड रखने के लिए आपको एक कार्यपुस्तिका की आवश्यकता है, जबकि शेष स्रोत डेटा कार्यपुस्तिकाएं अलग हैं। इसके अतिरिक्त, एक कार्यपुस्तिका बनाएं समेकित आपकी सभी कार्यपुस्तिकाओं से समेकित डेटा संग्रहीत करने के लिए।

एक फोल्डर बनाएं समेकन अपनी सभी स्रोत कार्यपुस्तिकाओं को संग्रहीत करने के लिए अपने पसंदीदा स्थान पर। जब मैक्रो चलता है, तो यह इस फ़ोल्डर में संग्रहीत प्रत्येक कार्यपुस्तिका के माध्यम से टॉगल करेगा, विभिन्न शीटों से सामग्री की प्रतिलिपि बनाएगा, और इसे समेकित कार्यपुस्तिका में रखेगा।

अपना खुद का एक्सेल वीबीए कोड बनाना

एक बार जब पूर्व-आवश्यकताएं समाप्त हो जाती हैं, तो यह समय कोड में तल्लीन होने और अपनी आवश्यकताओं के अनुसार इसे अनुकूलित करने के लिए मूल बातें हैक करना शुरू करने का है।

सम्बंधित: उन्नत Microsoft Excel सुविधाएँ जो आपको अवश्य जाननी चाहिए

दबाओ Alt+F11 वीबीए मैक्रो कोड संपादक खोलने के लिए एक्सेल पर कुंजी। नीचे लिखे कोड को पेस्ट करें और फाइल को मैक्रो इनेबल्ड वर्कबुक के रूप में सेव करें (.xlsm विस्तार)।

उप ओपनफाइल्स ()

'वीबीए कोड के भीतर उपयोग किए जाने वाले चर घोषित करें'

मंद MyFolder स्ट्रिंग के रूप में, MyFile स्ट्रिंग के रूप में, wbmain कार्यपुस्तिका के रूप में, लास्टरो लंबे समय तक

'कोड प्रोसेसिंग बढ़ाने के लिए इन कार्यों को अक्षम करें'

आवेदन के साथ
.डिस्प्लेअलर्ट्स = असत्य
.स्क्रीन अपडेट करना = झूठा
के साथ समाप्त करना

'उस फ़ोल्डर का पथ बदलें जहां आपकी फ़ाइलें सहेजी जा रही हैं'

MyFolder = InputBox ("समेकन फ़ोल्डर का पथ दर्ज करें") और "\"

'एक मैक्रो चर में फ़ोल्डर के संदर्भ को परिभाषित करें'

माईफाइल = डीआईआर (माईफोल्डर)

'फ़ोल्डर में संग्रहीत प्रत्येक व्यक्तिगत कार्यपुस्तिका के माध्यम से चक्र के लिए एक लूप खोलें'

Do जबकि लेन (MyFile)> 0

'समेकन कार्यपुस्तिका को सक्रिय करें'

विंडोज़ ("समेकन")। सक्रिय करें

'आखिरी आबादी वाली पंक्ति की गणना करें'

रेंज ("a1048576")। चुनें
चयन। अंत (xlUp)। चुनें
सक्रिय कक्ष। ऑफसेट (1, 0)। चुनें

'समेकन फ़ोल्डर के भीतर पहली कार्यपुस्तिका खोलें'

कार्यपुस्तिकाएं। फ़ाइल नाम खोलें:=MyFolder और MyFile

विंडोज़ (माईफाइल)। सक्रिय करें

'डेटा कॉपी करने के लिए कार्यपुस्तिकाओं के भीतर प्रत्येक शीट के माध्यम से टॉगल करें'

वर्कशीट के रूप में डिम WS
शीट्स में प्रत्येक ws के लिए

डब्ल्यू.एस. सक्रिय
डब्ल्यू.एस. AutoFilterMode = False

'शीर्षलेख को अनदेखा करें और पंक्ति 2 से डेटा कॉपी करें'
यदि सेल (2, 1) = "" तो GoTo 1

गोटो 10

1: अगला

10: रेंज ("a2: az20000")। कॉपी करें

विंडोज़ ("समेकन")। सक्रिय करें

'कॉपी की गई सामग्री पेस्ट करें'

सक्रिय पत्रक। पेस्ट करें

विंडोज़ (माईफाइल)। सक्रिय करें

'डेटा चिपकाने के बाद खुली कार्यपुस्तिका को बंद करें'

सक्रिय कार्यपुस्तिका। बंद करे

'अगली कार्यपुस्तिका के मूल्य को संग्रहीत करने के लिए कैशे खाली करें'

माईफाइल = डीआईआर ()

'फ़ोल्डर में अगली फ़ाइल खोलें

कुंडली

'भविष्य में उपयोग के लिए अक्षम कार्यों को सक्षम करें'

आवेदन के साथ
.डिस्प्लेअलर्ट्स = ट्रू
.स्क्रीनअपडेटिंग = सही
के साथ समाप्त करना

अंत उप

वीबीए कोड समझाया गया

कोड का पहला भाग एक सबरूटीन को परिभाषित कर रहा है, जिसमें आपके सभी VBA कोड होते हैं। सबरूटीन के साथ परिभाषित करें विषय, उसके बाद कोड का नाम। उप नाम कुछ भी हो सकता है; आदर्श रूप से, आपको उस कोड के लिए प्रासंगिक नाम रखना चाहिए जिसे आप लिखने जा रहे हैं।

सम्बंधित: एक्सेल टिप्स और ट्रिक्स सीखने के लिए वेबसाइट और ब्लॉग

एक्सेल वीबीए उपयोगकर्ता द्वारा बनाए गए चर और उनके संबंधित डेटा प्रकारों के साथ घोषित को समझता है धुंधला (आयाम)।

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

उपयोगकर्ता को उस फ़ोल्डर के पथ के लिए संकेत दिया जाएगा जहां डेटा फ़ाइलें संग्रहीत हैं। फ़ोल्डर में संग्रहीत प्रत्येक कार्यपुस्तिका को खोलने के लिए एक लूप बनाया जाता है, प्रत्येक शीट से डेटा की प्रतिलिपि बनाई जाती है, और इसे संलग्न किया जाता है समेकन कार्यपुस्तिका

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

जैसे ही लूप पहली स्रोत फ़ाइल खोलता है, फ़िल्टर हर एक शीट से हटा दिए जाते हैं (यदि वे मौजूद है), और A2 से AZ20000 तक के डेटा की प्रतिलिपि बनाई जाएगी और समेकन में चिपकाया जाएगा कार्यपुस्तिका

प्रक्रिया तब तक दोहराई जाती है जब तक कि सभी कार्यपुस्तिका पत्रक मास्टर कार्यपुस्तिका में संलग्न नहीं हो जाते।

सम्बंधित: उन्नत एक्सेल में महारत हासिल करने के लिए सर्वश्रेष्ठ ऑनलाइन पाठ्यक्रम

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

लूप को तब तक चलाने के लिए कोडित किया जाता है जब तक कि सभी फाइलें मास्टर वर्कबुक में स्वचालित रूप से अपडेट नहीं हो जातीं।

उपयोगकर्ता-आधारित अनुकूलन

कभी-कभी, आप इनबिल्ट संकेतों के बारे में चिंता नहीं करना चाहते हैं, खासकर, यदि आप अंतिम उपयोगकर्ता हैं। यदि आप कोड में समेकन फ़ोल्डर के पथ को हार्डकोड करना चाहते हैं, तो आप कोड के इस भाग को बदल सकते हैं:

MyFolder = InputBox ("समेकन फ़ोल्डर का पथ दर्ज करें") और "\"

प्रति:

MyFolder = "फ़ोल्डर पथ" और "\"

इसके अतिरिक्त, आप कॉलम संदर्भ भी बदल सकते हैं, क्योंकि इस कोड में चरण शामिल नहीं है। बस अंतिम कॉलम संदर्भ को अपने अंतिम आबादी वाले कॉलम मान (एजेड, इस मामले में) के साथ बदलें। आपको यह याद रखने की आवश्यकता है कि अंतिम आबादी वाली पंक्ति की गणना मैक्रो कोड के माध्यम से की जाती है, इसलिए आपको केवल कॉलम संदर्भ बदलने की आवश्यकता है।

इस मैक्रो का अधिकतम लाभ उठाने के लिए, आप इसका उपयोग केवल उसी प्रारूप में कार्यपुस्तिकाओं को समेकित करने के लिए कर सकते हैं। यदि संरचनाएं भिन्न हैं, तो आप इस VBA मैक्रो का उपयोग नहीं कर सकते हैं।

एक्सेल वीबीए मैक्रो का उपयोग करके एकाधिक कार्यपुस्तिकाओं को समेकित करना

एक्सेल वीबीए कोड बनाना और संशोधित करना अपेक्षाकृत आसान है, खासकर यदि आप कोड के भीतर कुछ बारीकियों को समझते हैं। वीबीए व्यवस्थित रूप से प्रत्येक कोड लाइन के माध्यम से चलता है और इसे लाइन से लाइन निष्पादित करता है।

यदि आप कोड में कोई परिवर्तन करते हैं, तो आपको यह सुनिश्चित करना होगा कि आप कोड के क्रम को न बदलें, क्योंकि इससे कोड का निष्पादन बाधित होगा।

डेटा सॉर्ट करने के लिए 5 कूल माइक्रोसॉफ्ट एक्सेल मैक्रोज़

इन एक्सेल मैक्रोज़ के साथ डेटा प्रबंधन को आसान बनाएं।

आगे पढ़िए

साझा करनाकलरवईमेल
संबंधित विषय
  • प्रोग्रामिंग
  • प्रोग्रामिंग
  • Microsoft Excel
लेखक के बारे में
गौरव सियाल (19 लेख प्रकाशित)

गौरव सियाल के पास डिजिटल मार्केटिंग फर्मों और सॉफ्टवेयर जीवनचक्र दस्तावेजों की एक श्रृंखला के लिए लेखन का दो साल का अनुभव है।

गौरव सियाल की अन्य फ़िल्में-टीवी शो

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

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

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