/ / एक्सेल वीबीए में गतिशील ऐरे

एक्सेल वीबीए में गतिशील ऐरे

यदि आपके सरणी का आकार बढ़ता है और आप सरणी के आकार को ठीक नहीं करना चाहते हैं, तो आप इसका उपयोग कर सकते हैं रीडीम कीवर्ड. एक्सेल VBA फिर स्वचालित रूप से सरणी के आकार को बदल देता है।

कॉलम ए में कुछ संख्याएं जोड़ें

एक्सेल वीबीए में गतिशील ऐरे

अपने वर्कशीट पर कमांड बटन रखें और निम्न कोड लाइनें जोड़ें:

1. सबसे पहले, हम नामित सरणी घोषित करते हैं। प्रकार इंटीजर के दो चर घोषित करें। एक नाम का आकार और एक नाम I।

Dim numbers() As Integer, size As Integer, i As Integer

नोट: सरणी के पास अभी तक कोई आकार नहीं है। संख्याएं, आकार और मुझे यादृच्छिक रूप से यहां चुना गया है, आप किसी भी नाम का उपयोग कर सकते हैं। इन नामों को अपने शेष कोड में संदर्भित करना याद रखें।

2. अगला, हम सरणी के आकार को निर्धारित करते हैं और इसे चर आकार में संग्रहीत करते हैं। आप इसके लिए वर्कशीट फ़ंक्शन काउंटए का उपयोग कर सकते हैं। निम्नलिखित कोड लाइन जोड़ें:

size = WorksheetFunction.CountA(Worksheets(1).Columns(1))

3. अब हम सरणी के आकार को जानते हैं और हम इसे फिर से बढ़ा सकते हैं। निम्नलिखित कोड लाइन जोड़ें:

ReDim numbers(size)

4. अगला, हम सरणी के प्रत्येक तत्व को आरंभ करते हैं। हम एक लूप का उपयोग करते हैं।

For i = 1 To size
    numbers(i) = Cells(i, 1).Value
Next i

5. हम एक MsgBox का उपयोग कर सरणी का अंतिम तत्व प्रदर्शित करते हैं।

MsgBox numbers(size)

6. विजुअल बेसिक एडिटर से बाहर निकलें और शीट पर कमांड बटन पर क्लिक करें।

परिणाम:

ऐरे का अंतिम तत्व

7. अब स्पष्ट रूप से देखने के लिए कि इसे गतिशील सरणी क्यों कहा जाता है, कॉलम ए में एक संख्या जोड़ें।

अंक जोड़ो

8. फिर कमांड बटन पर क्लिक करें।

गतिशील ऐरे परिणाम

निष्कर्ष: एक्सेल वीबीए ने स्वचालित रूप से इस गतिशील सरणी के आकार को बदल दिया है।

9. जब आप ReDim कीवर्ड का उपयोग करते हैं, तो आप वर्तमान में सरणी में संग्रहीत मौजूदा डेटा मिटा देते हैं। उदाहरण के लिए, पहले बनाए गए कोड में निम्न कोड पंक्तियां जोड़ें:

ReDim numbers(3)
MsgBox numbers(1)

परिणाम:

संरक्षित के बिना

सरणी खाली है।

10. जब आप इसे सरणीकृत करते समय मौजूदा सरणी में डेटा को संरक्षित करना चाहते हैं, तो संरक्षित कीवर्ड का उपयोग करें।

ReDim Preserve numbers(3)
MsgBox numbers(1)

परिणाम:

संरक्षित के साथ

यह भी पढ़ें: