यह ट्यूटोरियल प्रदर्शित करेगा कि VBA में ऑब्जेक्ट्स की सरणियाँ कैसे बनाएं और उनका उपयोग कैसे करें।
VBA में, Arrays वेरिएबल हैं जो कई मानों को संग्रहीत करते हैं। आप VBA ऑब्जेक्ट्स को उसी तरह सरणियों में संग्रहीत कर सकते हैं जैसे आप किसी अन्य डेटा को संग्रहीत करते हैं।
ऑब्जेक्ट ऐरे घोषित करना
इस उदाहरण में, हम VBA कार्यपत्रकों की एक सरणी घोषित करेंगे:
1 | डिम arWks(3) वर्कशीट के रूप में |
एक स्टेटिक ऑब्जेक्ट ऐरे को पॉप्युलेट करना
ऑब्जेक्ट ऐरे को स्टेटिक घोषित करें, और फिर आप अपनी कार्यपुस्तिका से चुने गए शीट्स के साथ ऐरे को पॉप्युलेट कर सकते हैं।
12345678 | उप TestObjArray ()'सरणी को वर्कशीट सरणी के रूप में परिभाषित करें'डिम arWks(1 से 3) वर्कशीट के रूप में'सरणी में 3 शीट जोड़ें'सेट arWks(1) = शीट्स(1)सेट arWks(2) = शीट्स(2)सेट arWks(3) = शीट्स(3)अंत उप |
एक डायनामिक ऑब्जेक्ट ऐरे को पॉप्युलेट करना
आप ऑब्जेक्ट ऐरे को डायनामिक घोषित कर सकते हैं, और फिर ऑब्जेक्ट ऐरे को ऐरे आकार निर्दिष्ट करने से पहले कार्यपुस्तिका में शीट्स की गणना कर सकते हैं।
1234567891011121314 | उप TestObjArray ()'सरणी को वर्कशीट सरणी के रूप में परिभाषित करें'डिम arWks () वर्कशीट के रूप में'फ़ाइल में कितनी कार्यपत्रक गिनें, और सरणी को फिर से मंद करें'डिम एन अस इंटीजरडिम आई अस इंटीजर'सरणी के लिए सीमा निर्धारित करने के लिए शीट्स और माइनस वन गिनें'एन = आवेदन। पत्रक। गणना - 1ReDim arWks(n)'कार्यपुस्तिका में सभी शीटों के साथ कार्यपत्रक सरणी भरें'i = LBound(arWks) से UBound(arWks) के लिएसेट arWks(i) = ActiveWorkbook.Sheets(i + 1)अगला मैंअंत उप |
ऊपर के उदाहरण में, हम पहले वर्कशीट ऐरे की घोषणा करते हैं। फिर हम कार्यपुस्तिका में शीटों की संख्या की गणना करते हैं, और उस मान को घटाकर एक सरणी के UBound को असाइन करते हैं। यह इस तथ्य के कारण है कि ऐरे का एलबाउंड 0 से शुरू होता है। अंत में, हम शीट्स के माध्यम से लूप करते हैं और प्रत्येक शीट को ऐरे में जोड़ते हैं।
VBA कोड में ऑब्जेक्ट ऐरे का उपयोग करना
एक बार जब हम वर्कशीट सरणी को पॉप्युलेट कर लेते हैं, तो हम सरणी के माध्यम से लूप के लिए वीबीए का उपयोग कर सकते हैं।
123456789101112131415161718 | उप TestObjArray ()'सरणी को वर्कशीट सरणी के रूप में परिभाषित करें'डिम arWks () वर्कशीट के रूप में'फ़ाइल में कितनी कार्यपत्रक गिनें, और सरणी को फिर से मंद करें'डिम एन अस इंटीजरडिम आई अस इंटीजर'सरणी के लिए सीमा निर्धारित करने के लिए शीट्स और माइनस वन गिनें'एन = आवेदन। पत्रक। गणना - 1ReDim arWks(n)'कार्यपुस्तिका में सभी शीटों के साथ कार्यपत्रक सरणी भरें'i = LBound(arWks) से UBound(arWks) के लिएसेट arWks(i) = ActiveWorkbook.Sheets(i + 1)अगला मैं'सरणी में प्रत्येक शीट के लिए कुछ करें'i = LBound(arWks) से UBound(arWks) के लिएarWks(i).रेंज("A1:H1").Font.Bold = Trueअगला मैंअंत उप |
ऊपर के उदाहरण में, हम सरणी के माध्यम से लूप करते हैं और सरणी में प्रत्येक शीट की पहली पंक्ति को बोल्ड करते हैं।