एक्सेल में वीबीए ऐरे क्या है और प्रोग्राम कैसे करें?
VBA कई वर्षों से Microsoft Office सुइट का हिस्सा रहा है । जबकि इसमें पूर्ण VB एप्लिकेशन की पूर्ण कार्यक्षमता और शक्ति नहीं है, VBA Office उपयोगकर्ताओं को (Office)Office उत्पादों को एकीकृत करने और उनमें आपके द्वारा किए जाने वाले कार्य को स्वचालित करने के लिए लचीलापन प्रदान करता है ।
वीबीए(VBA) में उपलब्ध सबसे शक्तिशाली उपकरणों में से एक डेटा की एक पूरी श्रृंखला को एक एकल चर में लोड करने की क्षमता है जिसे एक सरणी कहा जाता है। इस तरह से डेटा लोड करके, आप विभिन्न तरीकों से डेटा की उस श्रेणी पर गणना कर सकते हैं या गणना कर सकते हैं।
तो वीबीए(VBA) सरणी क्या है? इस लेख में हम उस प्रश्न का उत्तर देंगे, और आपको दिखाएंगे कि अपनी स्वयं की VBA स्क्रिप्ट(your own VBA script) में किसी एक का उपयोग कैसे करें ।
एक वीबीए ऐरे क्या है?
एक्सेल में (Excel)वीबीए(VBA) सरणी का उपयोग करना बहुत आसान है, लेकिन अगर आपने कभी इसका इस्तेमाल नहीं किया है तो सरणियों की अवधारणा को समझना थोड़ा जटिल हो सकता है।
एक ऐरे के बारे में सोचें(Think) जैसे एक बॉक्स जिसमें उसके अंदर सेक्शन हों। एक-आयामी सरणी एक बॉक्स है जिसमें अनुभागों की एक पंक्ति होती है। द्वि-आयामी सरणी एक बॉक्स है जिसमें दो पंक्तियों के खंड होते हैं।
आप इस "बॉक्स" के प्रत्येक अनुभाग में अपनी पसंद के किसी भी क्रम में डेटा डाल सकते हैं।
अपनी वीबीए(VBA) स्क्रिप्ट की शुरुआत में , आपको अपने वीबीए(VBA) सरणी को परिभाषित करके इस "बॉक्स" को परिभाषित करने की आवश्यकता है। तो एक सरणी बनाने के लिए जो डेटा का एक सेट (एक-आयामी सरणी) रख सकता है, आप निम्न पंक्ति लिखेंगे।
Dim arrMyArray(1 To 6) As String
बाद में आपके प्रोग्राम में, आप कोष्ठक के अंदर अनुभाग को संदर्भित करके डेटा को इस सरणी के किसी भी भाग में रख सकते हैं।
arrMyArray(1) = "Ryan Dube"
आप निम्न पंक्ति का उपयोग करके द्वि-आयामी सरणी बना सकते हैं।
Dim arrMyArray(1 To 6,1 to 2) As Integer
पहली संख्या पंक्ति का प्रतिनिधित्व करती है, और दूसरी स्तंभ है। तो उपरोक्त सरणी 6 पंक्तियों और 2 स्तंभों के साथ एक श्रेणी धारण कर सकती है।
आप इस सरणी के किसी भी तत्व को डेटा के साथ निम्नानुसार लोड कर सकते हैं।
arrMyArray(1,2) = 3
यह सेल B1 में 3 लोड करेगा।
एक सरणी किसी भी प्रकार के डेटा को एक नियमित चर के रूप में रख सकती है, जैसे कि तार, बूलियन, पूर्णांक, फ्लोट और बहुत कुछ।
कोष्ठक के अंदर की संख्या भी एक चर हो सकती है। प्रोग्रामर आमतौर पर एक सरणी के सभी वर्गों के माध्यम से गिनने के लिए फॉर लूप(Loop) का उपयोग करते हैं और स्प्रेडशीट में डेटा कोशिकाओं को सरणी में लोड करते हैं। आप इस लेख में बाद में देखेंगे कि यह कैसे करना है।
एक्सेल में वीबीए ऐरे कैसे प्रोग्राम करें
आइए एक साधारण प्रोग्राम पर एक नज़र डालें जहां आप एक स्प्रेडशीट से एक बहुआयामी सरणी में जानकारी लोड करना चाह सकते हैं।
एक उदाहरण के रूप में, आइए एक उत्पाद बिक्री स्प्रेडशीट देखें, जहां आप बिक्री प्रतिनिधि का नाम, आइटम और कुल बिक्री को स्प्रेडशीट से बाहर निकालना चाहते हैं।
ध्यान दें कि VBA में जब आप पंक्तियों या स्तंभों का संदर्भ देते हैं, तो आप ऊपर बाईं ओर से 1 से शुरू होने वाली पंक्तियों और स्तंभों की गणना करते हैं। तो प्रतिनिधि स्तंभ 3 है, आइटम स्तंभ 4 है, और कुल स्तंभ 7 है।(rows and columns)
इन तीन स्तंभों को सभी 11 पंक्तियों में लोड करने के लिए, आपको निम्नलिखित स्क्रिप्ट लिखनी होगी।
Dim arrMyArray(1 To 11, 1 To 3) As String
Dim i As Integer, j As Integer
For i = 2 To 12
For j = 1 To 3
arrMyArray(i-1, j) = Cells(i, j).Value
Next j
Next i
आप देखेंगे कि शीर्ष लेख पंक्ति को छोड़ने के लिए, पहले के लिए पंक्ति संख्या को 1 के बजाय 2 से शुरू करने की आवश्यकता है। इसका मतलब है कि जब आप सेल मान लोड कर रहे हों तो आपको सरणी पंक्ति मान के लिए 1 घटाना होगा। सेल(Cells) (i, j) का उपयोग करके सरणी में । मान।
अपनी वीबीए ऐरे स्क्रिप्ट(Your VBA Array Script) कहां डालें
प्रोग्राम को एक्सेल में (Excel)वीबीए(VBA) स्क्रिप्ट रखने के लिए, आपको वीबीए(VBA) संपादक का उपयोग करने की आवश्यकता है । आप इसे डेवलपर(Developer) मेनू का चयन करके और रिबन के नियंत्रण(Controls) अनुभाग में कोड देखें का चयन करके एक्सेस कर सकते हैं।(View Code)
यदि आप मेनू में डेवलपर(Developer) नहीं देखते हैं , तो आपको इसे जोड़ना होगा। ऐसा करने के लिए , एक्सेल विकल्प विंडो खोलने के लिए फ़ाइल(File) और विकल्प चुनें।(Options)
चुनिंदा कमांड को ड्रॉपडाउन से ऑल कमांड(All Commands) में बदलें । बाएं मेनू से डेवलपर(Developer) का चयन करें और इसे दाईं ओर फलक में ले जाने के लिए जोड़ें बटन का चयन करें। (Add)इसे सक्षम करने के लिए चेकबॉक्स चुनें और समाप्त करने के लिए ठीक चुनें।(OK)
जब कोड संपादक(Code Editor) विंडो खुलती है, तो सुनिश्चित करें कि जिस शीट में आपका डेटा है वह बाएं फलक में चयनित है। बाएं ड्रॉपडाउन में वर्कशीट(Worksheet) का चयन करें और दाईं ओर सक्रिय(Activate) करें। यह वर्कशीट_एक्टिवेट(Worksheet_Activate) () नामक एक नया सबरूटीन बनाएगा ।
जब भी स्प्रैडशीट फ़ाइल खोली जाएगी यह फ़ंक्शन चलेगा. इस सबरूटीन के अंदर स्क्रिप्ट पेन में कोड पेस्ट करें।
यह स्क्रिप्ट 12 पंक्तियों के माध्यम से काम करेगी और कॉलम 3 से प्रतिनिधि नाम, कॉलम 4 से आइटम और कॉलम 7 से कुल बिक्री लोड करेगी।
एक बार दोनों लूप के लिए समाप्त हो जाने के बाद, दो आयामी सरणी arrMyArray में मूल शीट से आपके द्वारा निर्दिष्ट सभी डेटा शामिल हैं।
एक्सेल VBA में मैनिपुलेटिंग Arrays
मान लें कि आप सभी अंतिम बिक्री मूल्यों पर 5% बिक्री कर लागू करना चाहते हैं, और फिर सभी डेटा को एक नई शीट पर लिखना चाहते हैं।
आप एक नई शीट पर परिणाम लिखने के आदेश के साथ, पहले के बाद एक और फॉर लूप जोड़कर ऐसा कर सकते हैं।
For k = 2 To 12
Sheets("Sheet2").Cells(k, 1).Value = arrMyArray(k - 1, 1)
Sheets("Sheet2").Cells(k, 2).Value = arrMyArray(k - 1, 2)
Sheets("Sheet2").Cells(k, 3).Value = arrMyArray(k - 1, 3)
Sheets("Sheet2").Cells(k, 4).Value = arrMyArray(k - 1, 3) * 0.05
Next k
यह संपूर्ण सरणी को शीट2 में "अनलोड" करेगा ,(Sheet2) जिसमें एक अतिरिक्त पंक्ति होगी जिसमें कर राशि के लिए कुल 5% से गुणा किया जाएगा।
परिणामी शीट इस तरह दिखेगी।
जैसा कि आप देख सकते हैं, एक्सेल में (Excel)वीबीए(VBA) सरणियाँ अत्यंत उपयोगी हैं और किसी भी अन्य एक्सेल ट्रिक(any other Excel trick) की तरह बहुमुखी हैं ।
उपरोक्त उदाहरण एक सरणी के लिए एक बहुत ही सरल उपयोग है। आप बहुत बड़े सरणियाँ बना सकते हैं और उनमें संग्रहीत डेटा के विरुद्ध सॉर्टिंग, औसत, या कई अन्य कार्य कर सकते हैं।
यदि आप वास्तविक रचनात्मक प्राप्त करना चाहते हैं, तो आप दो अलग-अलग शीट से कोशिकाओं की एक श्रृंखला वाले(containing a range of cells) दो सरणी भी बना सकते हैं , और प्रत्येक सरणी के तत्वों के बीच गणना कर सकते हैं।
एप्लिकेशन केवल आपकी कल्पना द्वारा सीमित हैं।
Related posts
एक्सेल में ब्लैंक लाइन्स को कैसे डिलीट करें
एक्सेल के स्पीक सेल फीचर का उपयोग कैसे करें
वर्ड डॉक में एक्सेल वर्कशीट कैसे डालें
एक्सेल के व्हाट-इफ एनालिसिस का उपयोग कैसे करें
एक्सेल में एक पंक्ति को कैसे ठीक करें
एक्सेल में कॉलम कैसे मूव करें
एक्सेल में मल्टीपल लिंक्ड ड्रॉप डाउन लिस्ट कैसे बनाएं?
एक्सेल में चेक मार्क का उपयोग करने के 4 तरीके
एक्सेल वर्कशीट में CSV या TSV कैसे डालें?
VLOOKUP जैसे एक्सेल फ़ार्मुलों में #N/A त्रुटियाँ कैसे ठीक करें
फ्लेक्सिबल ड्रॉपडाउन के लिए एक्सेल में डायनामिक रेंज नेम्स का उपयोग करें
एक्सेल के ट्रांसपोज़ फंक्शन का उपयोग करने के 2 तरीके
एक्सेल में सेल, कॉलम और रो को कैसे मर्ज करें?
Word और Excel में त्वरित रूप से संख्याओं की वर्तनी करें
एक्सेल के व्हाट्स-इफ एनालिसिस गोल सीक टूल का उपयोग करना
एक्सेल में ग्रिडलाइन कैसे निकालें
एक्सेल वर्कशीट में ग्रुप रो और कॉलम
मुद्रण के लिए एक्सेल में अपने वर्कशीट डेटा को केंद्र में रखें
एक्सेल में वीलुकअप के बजाय इंडेक्स-मैच का उपयोग कब करें
एकाधिक एक्सेल फाइलों में डेटा कैसे मर्ज करें