VBA संग्रह - VBA में कलेक्शन ऑब्जेक्ट कैसे बनाएं?

एक्सेल VBA संग्रह वस्तु

VBA कोडिंग में, एक समूह के अंतर्गत वस्तुओं के मौजूदा संग्रह के अलावा, हम अपने संग्रह समूह बना सकते हैं। हमारे कई लेखों में, हमने ऑब्जेक्ट चर के बारे में बात की है, और इस ट्यूटोरियल में, हम VBA संग्रह ऑब्जेक्ट के बारे में विस्तार से लेंगे।

यदि आप हमारे पिछले लेख “VBA Arrays” से गुज़रे हैं, तो यह समझना आपके लिए बहुत आसान होगा। Arrays का उपयोग एक छत के नीचे समूह चर के लिए किया जाता है; इसी तरह, संग्रह का उपयोग चर के समूह को संग्रहीत करने के लिए भी किया जाता है।

वस्तुओं को संग्रहीत करने के लिए संग्रह का उपयोग किया जाता है। वे VBA सरणियों की तुलना में कहीं अधिक लचीले हैं, जबकि सरणियों की निश्चित आकार सीमाएं हैं, लेकिन पाठकों के पास किसी भी समय निश्चित आकार की सीमा नहीं है और यहां तक ​​कि मैनुअल आकार बदलने की भी आवश्यकता नहीं है।

VBA संग्रह "VBA शब्दकोश" से बहुत मिलता-जुलता है, लेकिन शब्दकोष को बाहरी ऑब्जेक्ट संदर्भ की आवश्यकता होती है, इसे ऑब्जेक्ट संदर्भ विंडो के नीचे सेट किया जाता है। VBA शब्दकोश के साथ, हमें संदर्भ प्रकार को "Microsoft स्क्रिप्टिंग रनटाइम" के रूप में सेट करने की आवश्यकता है, लेकिन संग्रह को किसी भी अतिरिक्त फिटिंग की आवश्यकता नहीं है।

VBA में कलेक्शन ऑब्जेक्ट कैसे बनाएं?

पहले संग्रह के साथ आरंभ करने के लिए, हमें चर को "संग्रह" घोषित करने की आवश्यकता है

कोड:

सब कलेक्शन_एक्सप्लिमेंट () डिम कॉल ऐज़ कलेक्शन एंड सब

चूंकि संग्रह एक वस्तु चर है, इसलिए हमें एक नया उदाहरण बनाकर ऑब्जेक्ट संदर्भ सेट करना होगा।

कोड:

सब कलेक्शन_एक्सप्लिमेंट () डायम कॉल अस कलेक्शन सेट कोल = न्यू कलेक्शन एंड सब

अब चर के साथ, हम संग्रह चर "Col." के सभी तरीकों का उपयोग कर सकते हैं।

कोड:

सब कलेक्शन_एक्सप्लिमेंट () डिम कॉल ऐज़ कलेक्शन सेट कोल = न्यू कलेक्शन कर्नल एंड सब

इन विधियों का उपयोग करने से पहले, हमें एक चर को स्ट्रिंग के रूप में घोषित करने की आवश्यकता है।

कोड:

उप Collection_Example () संग्रह के रूप में मंद क्षेत्र Col = नया संग्रह मंद अंत के रूप में मंद ColResult

अब “Add” मेथड को चुनने के लिए वैरिएबल “Col” का उपयोग करें।

कोड:

सब कलेक्शन_एक्सप्लिमेंट () डायम कॉल अस कलेक्शन सेट कॉल = नया कलेक्शन Col.Add End Sub

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

आइटम के तहत , तर्क मोबाइल की कीमत में प्रवेश करता है।

कोड:

सब कलेक्शन_एक्सप्लिमेंट () डिम कॉल ऐज़ कलेक्शन सेट कॉल = नया कलेक्शन Col.Add आइटम: = १५०००, एंड सब

अगला, मुख्य तर्क के तहत , मोबाइल ब्रांड नाम दर्ज करें।

कोड:

सब कलेक्शन_एक्सप्लिमेंट () डिम कॉल ऐज़ कलेक्शन सेट कोल = नया कलेक्शन Col.Add आइटम: = १५०००, की: = "रेडमी" एंड सब

"ColResult" चर के लिए, हम "Col" ऑब्जेक्ट चर के परिणाम को संग्रहीत करेंगे।

कोड:

सब कलेक्शन_एक्सप्लिमेंट () डिम कॉल के रूप में कलेक्शन सेट Col = नया कलेक्शन Col.Add आइटम: = 15000, की: = "Redmi" ColResult = Col (एंड सब

जब आप "Col" चर के कोष्ठक को खोलते हैं, तो हम तर्क को अनुक्रमणिका के रूप में देख सकते हैं के लिए इस तर्क, हम संग्रह ऐड विधि, यानी, मोबाइल ब्रांड के नाम से महत्वपूर्ण तर्क मूल्य भी देनी होगी।

कोड:

सब कलेक्शन_एक्सप्लिमेंट () डिम कॉल के रूप में कलेक्शन सेट Col = नया कलेक्शन Col.Add आइटम: = 15000, की: = "Redmi" ColResult = Col ("Redmi") एंड सब

अब VBA में संदेश बॉक्स में परिणाम दिखाते हैं।

कोड:

उप Collection_Example () संग्रह के रूप में Dim Col Col: नया संग्रह Col.Add आइटम: = 15000, कुंजी: = "Redmi" ColResult = Col ("Redmi") MsgBox ColResult समाप्ति उप

ठीक है, हम तब करते हैं जब हम कोड चलाते हैं। हमें मोबाइल ब्रांड की कीमत देखनी चाहिए, "रेडमी।"

कुंजी और आइटम पैरामीटर की बेहतर समझ

मुझे यकीन है कि संग्रह वस्तु के मापदंडों को समझना आसान नहीं है। मैं आपको एक सरल उदाहरण समझाता हूं।

कल्पना कीजिए कि आपके पास फलों का एक मेनू है जिसमें उनके नाम और फलों की कीमत है। मान लें कि आप फल के नाम से "Apple" फलों की कीमत खोज रहे हैं।

फल की कीमत की खोज करने के लिए, हमें फल के नाम का उल्लेख करने की आवश्यकता है, अर्थात, संग्रह में VBA भाषा में फलों का नाम कुंजी है, और फल का मूल्य "मद" है।

यह लुकअप मूल्य के आधार पर VLOOKUP या HLOOKUP फ़ंक्शन को लागू करने जैसा है, और हम डेटाबेस से आवश्यक डेटा प्राप्त करेंगे। यहां लुकअप वैल्यू कुंजी है, और परिणाम आइटम है।

उन्नत उदाहरण

कल्पना करें कि आप रिटेल स्टोर में से एक में स्टोर मैनेजर हैं, और आप ग्राहक प्रश्नों के प्रबंधन के लिए जिम्मेदार हैं। ऐसी एक ग्राहक क्वेरी उत्पाद की कीमत के बारे में एक जांच है।

It would help if you allowed the customer to search the price of the product with complete information. Similarly, you need to show the message in case of no data found. Below is the example code which will present the input box in front of the user. They require to enter the name of the product they are looking for. If the product is there in the collection, it will show the price of the mentioned product, or else it will show the message as “The Product you are searching for doesn’t exist.”

Code:

उप Collection_Example2 () संग्रह के रूप में मंद आइटमकोल, स्ट्रिंग सेट आइटम के रूप में मंद ColResult = नया संग्रह ItemCol.Add कुंजी: = "Apple", आइटम: = 150 ItemCol.Add कुंजी: = "Orange", आइटम: = 75 ItemCol.Add कुंजी: = "वाटर मेलन", आइटम: = 45 आइटम्सकोल.एड की: = "मुश मिलन", आइटम: = 85 आइटम्सकोल। एड की: = "मैंगो", आइटम: = 65 कोलिस्सुल्ल = एप्लीकेशन.इनपुटबॉक्स (प्रॉम्प्ट: = "कृपया फलों का नाम दर्ज करें ") यदि ItemCol (ColResult)" "तो MsgBox" फलों की कीमत "और ColResult &" है: "और ItemCol (ColResult) Else MsgBox" फलों की कीमत " संग्रह "एंड इफ एंड एंड सब

दिलचस्प लेख...