VBA - सरणी से डुप्लिकेट निकालें

यह ट्यूटोरियल आपको सिखाएगा कि VBA में किसी सरणी से डुप्लिकेट कैसे निकालें।

डुप्लिकेट निकालें

वीबीए ऐरे से डुप्लीकेट्स को हटाने का सबसे आसान तरीका वीबीए संग्रह में सरणी मानों को असाइन करना है और फिर मानों को वापस ऐरे में पास करना है। संग्रह डुप्लिकेट मानों की अनुमति नहीं देते हैं और इस प्रकार संग्रह का उपयोग करके, हम एक सरणी से डुप्लिकेट हटा सकते हैं। हमने इस कार्य को करने के लिए एक फ़ंक्शन बनाया है:

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 फंक्शन ArrayRemoveDups(MyArray as Variant) वैरिएंट के रूप मेंमंद nपहले जितना लंबा, nलास्ट जितना लंबा, मैं उतना ही लंबास्ट्रिंग के रूप में मंद आइटममंद arrTemp () स्ट्रिंग के रूप मेंनए संग्रह के रूप में डिम कोल'पहली और अंतिम सरणी स्थिति प्राप्त करें'nFirst = LBound(MyArray)nLast = UBound(MyArray)ReDim arrTemp(nपहले से nLast तक)'ऐरे को स्ट्रिंग में बदलें'मैं के लिए = nपहले से nLastarrTemp(i) = CStr(MyArray(i))अगला मैं'अस्थायी संग्रह आबाद करें'त्रुटि पर फिर से शुरू करें अगलामैं के लिए = nपहले से nLastColl. arrTemp(i), arrTemp(i) जोड़ेंअगला मैंएरर.क्लियरत्रुटि गोटो 0 . पर'आकार बदलें ऐरे'nLast = Coll.Count + nFirst - 1ReDim arrTemp(nपहले से nLast तक)'आबादी सरणीमैं के लिए = nपहले से nLastarrTemp(i) = Coll(i - nFirst + 1)अगला मैं'आउटपुट ऐरे'ArrayRemoveDups = arrTempअंत समारोहउप गिरफ्तारी ()मंद strNames(१ से ४) स्ट्रिंग के रूप मेंमंद आउटपुटअरे () स्ट्रिंग के रूप मेंडिम आई ऐज़ लॉन्गडिम आइटम वैरिएंट के रूप में'प्रारंभिक सरणी मान सेट करें'strNames(1) = "शेली"strNames(2) = "स्टीव"strNames(3) = "नीमा"strNames(4) = "स्टीव"'कॉल डुप फंक्शन'आउटपुटअरे = ArrayRemoveDups (strNames)'तत्काल विंडो के लिए आउटपुट मान (CTRL + G)आउटपुट में प्रत्येक आइटम के लिएअरेडीबग.प्रिंट आइटमअगला आइटमअंत उप

नोट: उदाहरण में हमने अपने ऐरे को 1 (0 नहीं) से शुरू करने के लिए मजबूर किया। यदि आपकी सरणी 0 से शुरू होती है, तो आपको कोड को थोड़ा संशोधित करना होगा।

ध्यान दें कि हम सरणी सामग्री को एक स्ट्रिंग में परिवर्तित करते हैं। यदि आवश्यक हो, तो प्रक्रिया पूरी होने के बाद आप स्ट्रिंग्स को वापस पूर्णांक में बदल सकते हैं।

wave wave wave wave wave