विषयसूची
रेंज की तुलना करें
नीचे हम एक्सेल VBA में एक प्रोग्राम देखेंगे जो यादृच्छिक रूप से चयनित श्रेणियों की तुलना करता है और उन कोशिकाओं को हाइलाइट करता है जो अद्वितीय हैं। यदि आप अभी तक क्षेत्रों से परिचित नहीं हैं, तो हम आपको पहले इस पृष्ठ को पढ़ने की अत्यधिक अनुशंसा करते हैं।
परिस्थिति:
नोट: इस उदाहरण में एकमात्र अद्वितीय मान 3 है क्योंकि अन्य सभी मान कम से कम एक और क्षेत्र में होते हैं। Range(“B2:B7D3:E6D8:E9”) चुनने के लिए Ctrl दबाए रखें और प्रत्येक क्षेत्र का चयन करें।
अपनी वर्कशीट पर एक कमांड बटन रखें और निम्नलिखित कोड पंक्तियाँ जोड़ें:
1. सबसे पहले हम चार Range ऑब्जेक्ट और Integer प्रकार के दो वेरिएबल घोषित करते हैं।
डिम रेंजटूयूज ऐज रेंज सिंगलएरिया ऐज रेंज सेल1 ऐज रेंज सेल2 ऐज रेंज आई ऐज इंटीजर जे ऐज इंटीजर
2. हम चयनित रेंज के साथ Range ऑब्जेक्ट rangeToUse को आरंभ करते हैं।
सेट rangeToUse = चयन
3. वह लाइन जोड़ें जो सभी सेल के बैकग्राउंड कलर को बदलकर 'नो फिल' कर दे। साथ ही वह लाइन भी जोड़ें जो सभी सेल के बॉर्डर को हटा दे।
कक्ष.आंतरिक.रंग सूचकांक = 0
सेल्स.बॉर्डर्स.लाइनस्टाइल = xlNone
4. उपयोगकर्ता को सूचित करें जब वह केवल एक क्षेत्र का चयन करता है।
यदि चयन.क्षेत्र.गणना <= 1 तो
MsgBox “कृपया एक से अधिक क्षेत्र चुनें।”
अन्य
अगर अंत
अगली कोड पंक्तियाँ (5,6 और 7 पर) Else और End If के बीच जोड़ी जानी चाहिए।
5. चयनित क्षेत्रों की कोशिकाओं को रंग दें।
rangeToUse.Interior.ColorIndex = 38
6. प्रत्येक क्षेत्र की सीमा बनाएं।
rangeToUse.Areas में प्रत्येक singleArea के लिए
singleArea.BorderAround रंग सूचकांक:=1 वजन:=xlThin
अगला एकल क्षेत्र
7. इस कार्यक्रम का शेष भाग इस प्रकार है।
i = 1 से rangeToUse.Areas.Count तक
j = i + 1 से rangeToUse.Areas.Count तक
प्रत्येक सेल 1 के लिए rangeToUse.Areas(i) में
प्रत्येक सेल के लिए2 rangeToUse.Areas(j) में
यदि cell1.Value = cell2.Value तो
सेल1.इंटीरियर.कलरइंडेक्स = 0
सेल2.इंटीरियर.कलरइंडेक्स = 0
अगर अंत
अगला सेल2
अगला सेल1
अगला जे
अगला मैं
स्पष्टीकरण: यह थोड़ा कठिन लग सकता है लेकिन यह उतना कठिन नहीं है। rangeToUse.Areas.Count 3 के बराबर है इसलिए पहली दो कोड लाइनें i = 1 से 3 और j = i + 1 से 3 के लिए कम हो जाती हैं। i = 1 j = 2 के लिए Excel VBA पहले क्षेत्र के सभी मानों की तुलना दूसरे क्षेत्र के सभी मानों से करता है। i = 1 j = 3 के लिए Excel VBA पहले क्षेत्र के सभी मानों की तुलना तीसरे क्षेत्र के सभी मानों से करता है। i = 2 j = 3 के लिए Excel VBA दूसरे क्षेत्र के सभी मानों की तुलना तीसरे क्षेत्र के सभी मानों से करता है। यदि मान समान हैं तो यह दोनों कोशिकाओं के पृष्ठभूमि रंग को 'नो फिल' पर सेट करता है क्योंकि वे अद्वितीय नहीं हैं।
जब आप शीट पर कमांड बटन क्लिक करेंगे तो परिणाम: