एक्सेल VBA Arrays: क्या है, कैसे करें & VBA में एरे के प्रकार

विषय - सूची:

Anonim

VBA ऐरे क्या है?

एक सरणी को एक स्मृति स्थान के रूप में परिभाषित किया गया है जो एक से अधिक मूल्य संग्रहीत करने में सक्षम है। मान सभी समान डेटा प्रकार के होने चाहिए। मान लीजिए कि आप अपने पसंदीदा पेय पदार्थों की सूची को एक ही चर में संग्रहित करना चाहते हैं, तो आप ऐसा करने के लिए VBA सरणी का उपयोग कर सकते हैं।

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

यह ट्यूटोरियल मानता है कि आप Microsoft Excel संस्करण 2013 का उपयोग कर रहे हैं। यह ज्ञान अभी भी Microsoft Excel के अन्य संस्करणों पर भी लागू होता है।

इस VBA प्रोग्रामिंग ट्यूटोरियल में, आप सीखेंगे-

  • सरणियों के लाभ क्या हैं?
  • VBA में एरे के प्रकार
  • एक्सेल VBA में ऐरे का उपयोग कैसे करें
  • हमारे आवेदन का परीक्षण

सरणियों के लाभ क्या हैं?

VBA सरणी फ़ंक्शन द्वारा दिए गए कुछ लाभ निम्नलिखित हैं

  1. सामूहिक रूप से संबंधित डेटा को एक साथ समूहित करें - मान लें कि आप छात्रों की सूची संग्रहीत करना चाहते हैं। आप एकल सरणी चर का उपयोग कर सकते हैं जिसमें छात्र श्रेणियों अर्थात किंडर गार्डन, प्राथमिक, माध्यमिक, हाई स्कूल, आदि के लिए अलग-अलग स्थान हैं।
  2. सरणी को बनाए रखने योग्य कोड लिखना आसान है। समान रूप से संबंधित डेटा के लिए, यह आपको एक से अधिक चर को परिभाषित करने के बजाय एकल चर को परिभाषित करने की अनुमति देता है।
  3. बेहतर प्रदर्शन - एक बार एक सरणी को परिभाषित करने के बाद, डेटा को पुनः प्राप्त करना, सॉर्ट करना और संशोधित करना तेज़ होता है।

VBA में एरे के प्रकार

वीबीए दो प्रकार के सरणियों का समर्थन करता है;

  • स्टेटिक - इस प्रकार के सरणियों में तत्वों की एक निश्चित पूर्व-निर्धारित संख्या होती है जिन्हें संग्रहीत किया जा सकता है। एक स्टेटिक ऐरे के डेटा प्रकार का आकार नहीं बदल सकता है। ये तब उपयोगी होते हैं जब आप ज्ञात संस्थाओं के साथ काम करना चाहते हैं जैसे सप्ताह में दिन की संख्या, लिंग आदि।

    उदाहरण के लिए : मंद ArrayMonth (12) स्ट्रिंग के रूप में

  • डायनेमिक - इस प्रकार के सरणियों में एक निश्चित पूर्व-निर्धारित संख्या तत्व नहीं होते हैं जिन्हें संग्रहीत किया जा सकता है। संस्थाओं के साथ काम करते समय ये उपयोगी होते हैं कि आप संख्या को पूर्व निर्धारित नहीं कर सकते।

    उदाहरण के लिए : मंद ऐरेमौंट () वेरिएंट के रूप में

ऐरे को घोषित करने के लिए सिंटैक्स

स्थैतिक सरणियाँ

STATIC सरणियों को घोषित करने का वाक्य विन्यास इस प्रकार है:

Dim arrayName (n) as datatype

यहां,

कोड कार्य
मंद arrayName (n) डेटाटाइप
  1. यह एक सरणी चर घोषित करता है, जिसे arrayName कहा जाता है, जिसमें n और डेटाटाइप का आकार है। आकार उन तत्वों की संख्या को संदर्भित करता है जिन्हें सरणी स्टोर कर सकती है।

गतिशील सरणियाँ

डायनामिक सरणियों को घोषित करने का सिंटैक्स इस प्रकार है:

Dim arrayName() as datatypeReDim arrayName(4)

यहां,

कोड कार्य
मंद सरणी नाम () डेटाटाइप
  1. यह तत्वों की संख्या निर्दिष्ट किए बिना arrayName नामक एक सरणी चर घोषित करता है
ReDim arrayName (4)
  1. यह सरणी के आकार को परिभाषित करने के बाद निर्दिष्ट करता है।

ऐरे आयाम

एक सरणी एक आयाम, दो आयाम या बहुआयामी हो सकती है।

  • एक आयाम : इस आयाम में, सरणी केवल एक सूचकांक का उपयोग करती है। उदाहरण के लिए, प्रत्येक आयु के लोगों की संख्या।
  • दो आयाम : इस आयाम में, सरणी दो अनुक्रमित का उपयोग करती है। उदाहरण के लिए, प्रत्येक कक्षा में कई छात्र। इसमें प्रत्येक कक्षा में कक्षाओं की संख्या और छात्र संख्या की आवश्यकता होती है
  • बहु-आयाम : इस आयाम में, सरणी दो से अधिक अनुक्रमित का उपयोग करती है। उदाहरण के लिए, दिन के दौरान तापमान। (30, 40, 20)।

एक्सेल VBA में ऐरे का उपयोग कैसे करें

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

  • एक नई Microsoft Excel कार्यपुस्तिका बनाएँ और इसे Excel Macro-Enabled Workbook (* .xlsm) के रूप में सहेजें।
  • वर्कबुक में कमांड बटन जोड़ें
  • कमांड बटन का नाम और कैप्शन गुण सेट करें
  • एक्सेल शीट को पॉप्युलेट करने वाले VBA की प्रोग्रामिंग करना

इस अभ्यास को चरण दर चरण करें,

चरण 1 - एक नई कार्यपुस्तिका बनाएं

  1. Microsoft Excel खोलें
  2. नई कार्यपुस्तिका को VBA Arrays.xlsm के रूप में सहेजें

चरण 2 - एक कमांड बटन जोड़ें

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

  1. शीट में एक कमांड बटन जोड़ें
  1. CmdLoadBeverages के लिए नाम गुण सेट करें
  2. बेवरेज लोड करने के लिए कैप्शन गुण सेट करें

आपका GUI अब इस प्रकार होना चाहिए

चरण 3 - फ़ाइल सहेजें

  1. Save as बटन पर क्लिक करें
  2. नीचे दी गई छवि में दिखाए अनुसार एक्सेल मैक्रो-सक्षम कार्यपुस्तिका (* .xlsm) चुनें

चरण 4 - कोड लिखें

अब हम अपने आवेदन के लिए कोड लिखेंगे

  1. लोड बेवरेज बटन पर राइट क्लिक करें और व्यू कोड चुनें
  2. CmdLoadBeverages के क्लिक इवेंट में निम्न कोड जोड़ें
Private Sub cmdLoadBeverages_Click()Dim Drinks(1 To 4) As StringDrinks(1) = "Pepsi"Drinks(2) = "Coke"Drinks(3) = "Fanta"Drinks(4) = "Juice"Sheet1.Cells(1, 1).Value = "My Favorite Beverages"Sheet1.Cells(2, 1).Value = Drinks(1)Sheet1.Cells(3, 1).Value = Drinks(2)Sheet1.Cells(4, 1).Value = Drinks(3)Sheet1.Cells(5, 1).Value = Drinks(4)End Sub

यहां,

कोड

कार्य

मंद पेय (1 से 4) स्ट्रिंग के रूप में

  • यह एक सरणी चर की घोषणा करता है जिसे पेय कहा जाता है। पहला एरे इंडेक्स 1 है और आखिरी एरे इंडेक्स 4 है।

पेय (1) = "पेप्सी"

  • पेप्सी को पहले ऐरे एलिमेंट पर मान देता है। अन्य समान कोड सरणी में अन्य तत्वों के लिए समान है।

Sheet1.Cells (1, 1) .Value = "मेरा पसंदीदा पेय पदार्थ।"

  • सेल एड्रेस A1 में मेरा पसंदीदा पेय पदार्थ का मूल्य लिखता है। शीट 1 शीट का संदर्भ बनाता है, और सेल (1,1) पंक्ति संख्या 1 और कॉलम 1 (बी) का संदर्भ बनाता है

शीट 1। घंटियाँ (2, 1)। पेय = पेय (1)

  • स्तंभ 1 की पंक्ति संख्या दो में अनुक्रमणिका 1 के साथ सरणी तत्व का मान लिखता है

हमारे आवेदन का परीक्षण

डेवलपर टैब चुनें और सुनिश्चित करें कि डिज़ाइन मोड बटन "बंद" है। सूचक है, इसमें एक सफेद पृष्ठभूमि होगी और रंगीन (हरा) पृष्ठभूमि नहीं होगी। (नीचे चित्र देखें)

लोड बेवरेज बटन पर क्लिक करें

आपको निम्न परिणाम मिलेंगे

उपरोक्त कोड वाले एक्सेल को डाउनलोड करें

उपरोक्त एक्सेल कोड डाउनलोड करें

सारांश

  1. एक सरणी एक चर है जो एक से अधिक मूल्य संग्रहीत करने में सक्षम है
  2. एक्सेल VBA स्थिर और गतिशील सरणियों का समर्थन करता है
  3. तार्किक रूप से संबंधित डेटा के लिए बहुत सारे वैरिएबल घोषित करने की तुलना में एरे को बनाए रखने योग्य कोड लिखना आसान हो जाता है।