एक्सेल में पिवट टेबल डेटा को समझने और समझने में आसान बनाने में महत्वपूर्ण हैं। एक पिवट तालिका डेटा को सार्थक संरचनाओं में संघनित और क्रंच कर सकती है। एमएस एक्सेल उपयोगकर्ताओं ने उन्हें डेटा उद्योग के भीतर व्यापक रूप से अपनाया है।

क्या आप जानते हैं कि आप एक्सेल में अपनी पिवट टेबल को स्वचालित कर सकते हैं और उन्हें एक क्लिक से बना सकते हैं? एमएस एक्सेल वीबीए के साथ अच्छी तरह से एकीकृत है और दोहराए जाने वाले कार्यों को स्वचालित करने के लिए एक उत्कृष्ट उपकरण बन गया है।

यहां बताया गया है कि आप MS Excel VBA में मैक्रो के साथ पिवट तालिका को कैसे स्वचालित कर सकते हैं।

अभ्यास डेटा सेट का उपयोग करें

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

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

instagram viewer
  • फ़िल्टर: क्षेत्र
  • पंक्तियाँ: उप-श्रेणी
  • कॉलम: राज्य
  • मान: बिक्री

अंत धुरी इस तरह दिखनी चाहिए:

हालाँकि, आप इसे मैन्युअल रूप से तैयार करने के बजाय VBA को स्वचालित रूप से करने दे सकते हैं।

एक्सेल में स्वचालित रूप से पिवट टेबल कैसे बनाएं

VBA के साथ अपनी पिवट तालिका को स्वचालित करने के लिए, एक नई एक्सेल फ़ाइल खोलें, और शीट का नाम इस प्रकार बदलें:

  • पहली शीट: मैक्रो
  • दूसरी शीट: आंकड़े

मैक्रो शीट में मैक्रो स्क्रिप्ट होती है, जबकि आंकड़े शीट में आपका डेटा होता है। मैक्रो शीट पर, आप अपनी पसंद का कोई भी आकार डाल सकते हैं और मैक्रो को असाइन कर सकते हैं। आकृति पर राइट-क्लिक करें, और असाइन मैक्रो पर क्लिक करें।

निम्नलिखित संवाद बॉक्स में, अपने मैक्रो के नाम पर क्लिक करें और ठीक क्लिक करें। यह चरण मैक्रो को आकार प्रदान करता है।

1. एक्सेल वीबीए कोडिंग संपादक खोलें

प्रेस ऑल्ट + F11 कोड संपादक खोलने के लिए। एक बार जब आप कोड संपादक में हों, तो फ़ाइल नाम पर राइट-क्लिक करें, उसके बाद डालना और मापांक. यह याद रखना महत्वपूर्ण है कि आप इसे निष्पादित करने से पहले मॉड्यूल के भीतर सभी वीबीए कोड लिखेंगे।

मॉड्यूल नाम का उपयोग करना एक अच्छा अभ्यास है जो कोड के उद्देश्य से प्रतिध्वनित होता है। चूंकि यह एक डेमो है, आप मॉड्यूल नाम को निम्नानुसार परिभाषित कर सकते हैं:

सब पिवट_डेमो ()

मॉड्यूल नाम के साथ समाप्त होता है अंत उप, जो एक मॉड्यूल की अंतिम कमांड है:

अंत विषय

2. चर घोषित करें

मॉड्यूल के भीतर, स्क्रिप्ट में आपके द्वारा उपयोग किए जाने वाले कुछ उपयोगकर्ता-परिभाषित मानों को संग्रहीत करने के लिए चर घोषित करके प्रारंभ करें। आप उपयोग कर सकते हैं धुंधला निम्नानुसार चर घोषित करने के लिए कथन:

मंद पीशीट जैसा वर्कशीट, डीशीट जैसा कार्यपत्रक
डिम प्राइवेट कैश जैसा PivotCache
डिम प्राटेबल जैसा पिवट तालिका
डिम प्रारेंज जैसा श्रेणी
मंद अंतिम_पंक्ति जैसा लंबा, Last_Col जैसा लंबा
मंद sht1 जैसा प्रकार

आप निम्न के लिए इन चरों का उपयोग करेंगे:

  • पीशीट: डेस्टिनेशन शीट, जहां VBA एक पिवट बनाएगा।
  • डीशीट: डेटा शीट।
  • प्राइवेट कैश: पिवट कैश पिवट को होल्ड करता है।
  • प्राइवेटटेबल: पिवट टेबल ऑब्जेक्ट।
  • प्राइवेटरेंज: धुरी के लिए एक डेटा रेंज।
  • Last_Row और Last_Col: डेटा शीट (डीशीट) के भीतर अंतिम आबादी वाली पंक्ति और कॉलम।
  • एसटी1: यह चर एक प्रकार है।

3. चेतावनियों और संदेशों को दबाएं

अनावश्यक त्रुटियां, चेतावनियां और संदेश आपके VBA कोड को धीमा कर देते हैं। ऐसे संदेशों को दबा कर आप प्रक्रिया को काफी तेज कर सकते हैं।

निम्नलिखित कोड का प्रयोग करें:

पर गलती अगला फिर से शुरू करें

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

कहाँ:

  • त्रुटि फिर से शुरू करने पर अगला: यह खंड किसी भी रन-टाइम त्रुटि को दबा देता है।
  • आवेदन पत्र: एप्लिकेशन एमएस एक्सेल को संदर्भित करता है।
  • डिस्प्ले अलर्ट: DisplayAlerts गुण परिभाषित करता है कि अलर्ट दिखाना है या नहीं।
  • स्क्रीनअपडेटिंग: यह गुण परिभाषित करता है कि परिवर्तनों को वास्तविक समय में अपडेट करना है या कोड के चलने के बाद ही।

जब यह कोड चलता है, तो यह किसी भी अलर्ट, चेतावनियों और संदेश को दबा देता है जो एक्सेल अन्यथा दिखाएगा। आप DisplayAlerts और ScreenUpdating पैरामीटर के मान सेट करके उन्हें बंद कर सकते हैं असत्य.

कोड के अंत में, आप मान को इस रूप में सेट करके उन्हें फिर से चालू कर सकते हैं सत्य.

4. कोई मौजूदा पिवट पत्रक हटाएं

नई पिवट टेबल बनाने के लिए आपके पास दो विकल्प हैं। सबसे पहले, मौजूदा पिवट शीट को हटा दें और पिवट को स्टोर करने के लिए एक नई शीट बनाने के लिए VBA का उपयोग करें। वैकल्पिक रूप से, आप पिवट को होल्ड करने के लिए मौजूदा वर्कशीट का उपयोग कर सकते हैं।

इस गाइड में, आइए पिवट टेबल को स्टोर करने के लिए एक नया पिवट शीट बनाएं।

प्रत्येक के लिए कार्यपुस्तिका के भीतर प्रत्येक शीट के माध्यम से लूप चक्र और शीट नाम को अंदर संग्रहीत करता है sht1 चर। शीट नाम रखने के लिए आप किसी भी चर नाम (sht1) का उपयोग कर सकते हैं। वर्तमान कार्यपुस्तिका के भीतर प्रत्येक पत्रक के माध्यम से लूप चक्र, विशिष्ट नाम के साथ एक की तलाश में (प्रधान आधार).

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

यहां बताया गया है कि आप इसे कैसे कर सकते हैं:

के लिएप्रत्येकsht1मेंसक्रिय कार्यपुस्तिकाकार्यपत्रक
अगर sht1.Name = "प्रधान आधार" तब
sht1।मिटाना
अंतअगर
अगला sht1

कार्यपत्रक। जोड़ना। नाम = "प्रधान आधार"

5. डेटा स्रोत और पिवट शीट्स को परिभाषित करें

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

पीशीट सेट करें = वर्कशीट्स ("प्रधान आधार")
डीशीट सेट करें = वर्कशीट्स ("आंकड़े")

6. अंतिम प्रयुक्त पंक्ति और स्तंभ की पहचान करें

कोड का यह हिस्सा गतिशील रूप से काम करता है, क्योंकि यह डेटा के भीतर अंतिम आबादी वाली पंक्ति और कॉलम को आकार देता है।

Last_Row = डीशीट। सेल (पंक्तियाँ। गिनती, 1).अंत (xlUp).पंक्ति
Last_Col = डीशीट. सेल (1, कॉलम। गणना).अंत (xlToLeft).स्तंभ
तय करना प्राइवेटरेंज = डीशीट. सेल(1, 1.Resize (Last_Row, Last_Col)

कहाँ:

  • अंतिम पंक्ति: अंतिम आबादी वाली पंक्ति संख्या, यानी 9995 को स्टोर करने के लिए चर
  • अंतिम_कर्नल: अंतिम पॉप्युलेटेड कॉलम नंबर, यानी 21 को स्टोर करने के लिए वेरिएबल
  • प्राइवेटरेंज: PvtRange धुरी के लिए संपूर्ण डेटा श्रेणी का संदर्भ देता है

7. पिवट कैश और पिवट टेबल बनाएं

पिवट कैश में पिवट तालिका होती है; इसलिए, पिवट टेबल बनाने से पहले आपको एक कैश बनाना होगा। पिवट शीट के भीतर पिवट कैश बनाने के लिए आपको VBA के सिंटैक्स संदर्भों का उपयोग करना चाहिए।

पिवट कैश को संदर्भित करके, आपको पिवट तालिका बनाने की आवश्यकता है। पिवट टेबल के एक हिस्से के रूप में, आप शीट, सेल रेफरेंस और पिवट टेबल के नाम को परिभाषित कर सकते हैं।

सेट करें PvtCache = ActiveWorkbook. धुरी कैश। बनाएँ (SourceType:=xlDatabase, SourceData:=PvtRange).CreatePivotTable (TableDestination:=PSheet. सेल (2, 2), तालिका का नाम: ="म्यूओडेमोटेबल")
प्राइवेटटेबल सेट करें = प्राइवेट कैश। क्रिएट पिवट टेबल (टेबल डेस्टिनेशन: = पीशीट. सेल (1, 1), तालिका का नाम: ="म्यूओडेमोटेबल")

कहाँ:

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

8. पंक्तियाँ, कॉलम, फ़िल्टर और मान सम्मिलित करें

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

फ़िल्टर मान जोड़ने के लिए:

एक्टिवशीट के साथ। पिवट तालिकाएं("म्यूओडेमोटेबल".PivotFields("क्षेत्र")
.ओरिएंटेशन = xlपेजफिल्ड
अंतसाथ

पंक्ति मान जोड़ने के लिए:

एक्टिवशीट के साथ। पिवट तालिकाएं("म्यूओडेमोटेबल".PivotFields("उप-श्रेणी")
.ओरिएंटेशन = xlRowField
अंतसाथ

स्तंभ मान जोड़ने के लिए:

एक्टिवशीट के साथ। पिवट तालिकाएं("म्यूओडेमोटेबल".PivotFields("राज्य")
.ओरिएंटेशन = xlColumnField
अंतसाथ

एकत्रीकरण मान जोड़ने के लिए:

एक्टिवशीट के साथ। पिवट तालिकाएं("म्यूओडेमोटेबल".PivotFields("बिक्री")
.ओरिएंटेशन = xlDataField
.समारोह = xlSum
अंतसाथ

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

  • एक्सएलपेजफिल्ड: फ़िल्टर जोड़ने के लिए।
  • xlRowField: पंक्तियों को जोड़ने के लिए।
  • xlRowField: कॉलम जोड़ने के लिए।

अंत में, आप का उपयोग कर सकते हैं xlDataField मूल्य एकत्रीकरण की गणना करने के लिए आदेश। आप xlSum, xlAverage, xlCount, xlMax, xlMin, और xlProduct जैसे अन्य कुल कार्यों का उपयोग कर सकते हैं।

9. स्वचालित पिवट बनाने के लिए एक्सेल VBA कोड चलाना

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

यदि आप चरण-दर-चरण निष्पादन देखना चाहते हैं कि कोड कमांड लाइन से लाइन कैसे चलता है, तो आप कोड संपादक पर नेविगेट कर सकते हैं और दबा सकते हैं F8 कई बार। इस तरह, आप देख सकते हैं कि कोड की प्रत्येक पंक्ति कैसे काम करती है और कैसे VBA स्वचालित रूप से आपके पिवट बनाता है।

पिवट टेबल को स्वचालित रूप से कोड करना सीखना

पिवोट्स केवल एमएस एक्सेल तक ही सीमित नहीं हैं। पायथन जैसी प्रोग्रामिंग लैंग्वेज आपको कोड की कुछ पंक्तियों के साथ अनुकूलित पिवोट्स बनाने देती हैं।

डेटा ऑप्टिमाइज़ेशन इससे आसान नहीं हो सकता। आप पाइथन में अपने आदेशों को प्रभावी ढंग से चुन सकते हैं और चुन सकते हैं और समान एक्सेल-जैसी पिवट संरचना को आसानी से पूरा कर सकते हैं।