विषयसूची
ट्यूटोरियल दिखाता है कि VBA का उपयोग करके सेल के भीतर डुप्लिकेट शब्दों या टेक्स्ट स्ट्रिंग्स को कैसे हाइलाइट किया जाए।
Excel सशर्त स्वरूपण डुप्लिकेट को हर संभव तरीके से हाइलाइट करना संभव बनाता है, जिसके बारे में आप सोच सकते हैं: पहली घटनाओं के साथ या बिना, एक कॉलम या एकाधिक कॉलम में, लगातार डुप्लिकेट सेल, और कुंजी कॉलम में समान मानों के आधार पर पूरी पंक्तियां। लेकिन, हमेशा की तरह, एक "लेकिन" है। सशर्त स्वरूपण नियम सेल स्तर पर काम करते हैं जबकि आप पूरे सेल के बजाय डुप्लिकेट टेक्स्ट को हाइलाइट करना चाह सकते हैं। यह केवल मैक्रोज़ के साथ किया जा सकता है। यहां तक कि अगर आपके पास वीबीए के साथ कोई अनुभव नहीं है, तो कृपया इस पृष्ठ को बंद करने में जल्दबाजी न करें। यहां, आपको रेडी-टू-यूज कोड के उदाहरण और अपने वर्कशीट में उनका उपयोग करने के तरीके के बारे में विस्तृत निर्देश मिलेंगे।
टेक्स्ट केस को अनदेखा करते हुए सेल में डुप्लिकेट शब्दों को हाइलाइट करें
यह उदाहरण दिखाता है कि सेल के भीतर डुप्लीकेट शब्दों या टेक्स्ट स्ट्रिंग्स को लाल फ़ॉन्ट रंग में कैसे छायांकित किया जाए, जैसा कि नीचे दी गई छवि में दिखाया गया है। कृपया ध्यान दें कि लोअरकेस और अपरकेस अक्षरों को समान वर्णों के रूप में माना जाता है। उदाहरण के लिए, नारंगी , नारंगी और नारंगी एक ही शब्द माने जाते हैं।
मैक्रो का कोड इस प्रकार है:
पब्लिक सब हाइलाइटड्यूप्सकेसइन्सेंसिव () मंद सेल रेंज मंद सीमांकक के रूप में स्ट्रिंग सीमांकक = इनपुटबॉक्स ("एक सेल में मूल्यों को अलग करने वाले सीमांकक दर्ज करें", "सीमांकक", ", ") प्रत्येक सेल के लिएएप्लिकेशन। चयन कॉल हाइलाइटडुपवर्ड्सइनसेल (सेल, डेलीमीटर, झूठा) अगला अंत उप उप हाइलाइटडुपवर्ड्सइनसेल (रेंज के रूप में सेल, स्ट्रिंग के रूप में वैकल्पिक डेलीमीटर = "", वैकल्पिक केस संवेदनशील बूलियन = ट्रू के रूप में) स्ट्रिंग के रूप में मंद पाठ मंद शब्द () स्ट्रिंग के रूप में मंद शब्द के रूप में स्ट्रिंग डिम वर्डइंडेक्स, मैचकाउंट, पोजीशन इनटेक्स्ट इंटेगर के रूप में यदि केस सेंसिटिव है तो शब्द = स्प्लिट (सेल.वैल्यू, डेलीमीटर) अन्य शब्द = स्प्लिट (LCase (सेल.वैल्यू), डेलीमीटर) एंड इफ फॉर वर्डइंडेक्स = एलबाउंड (शब्द) टू यूबाउंड (शब्द) - 1 शब्द = शब्द (वर्डइंडेक्स) मैचकाउंट = 0 नेक्स्टवर्डइंडेक्स के लिए = वर्डइंडेक्स + 1 यूबाउंड (शब्द) के लिए 0 फिर टेक्स्ट = "" इंडेक्स के लिए = एलबाउंड (शब्द) यूबाउंड (शब्द) टेक्स्ट = टेक्स्ट और amp; शब्द (सूचकांक) यदि (शब्द (सूचकांक) = शब्द) तो सेल। वर्ण (लेन (पाठ) - लेन (शब्द) + 1, लेन (शब्द))। फ़ॉन्ट। रंग = vbRed अंत यदि पाठ = पाठ और amp; डिलिमिटर नेक्स्ट एंड इफ नेक्स्ट वर्डइंडेक्स एंड सबसेल केस-सेंसिटिव में डुप्लिकेट टेक्स्ट को हाइलाइट करें
ज्यादातर स्थितियों में, हम एक्सेल में टेक्स्ट एंट्री के साथ काम करते समय लेटर केस को नजरअंदाज कर देते हैं। हालाँकि, कुछ परिस्थितियों में, टेक्स्ट केस मायने रखता है। उदाहरण के लिए, यदि आप आईडी, पासवर्ड, या उस तरह के अन्य रिकॉर्ड के साथ काम कर रहे हैं, तो स्ट्रिंग्स जैसे 1-AA , 1-aa और 1-Aa डुप्लीकेट नहीं हैं और इन्हें हाइलाइट नहीं किया जाना चाहिए:
इस मामले में,कोड के निम्नलिखित संस्करण का उपयोग करें:
पब्लिक सब हाइलाइटड्यूप्सकेससेंसिटिव () मंद सेल रेंज मंद डिलीमीटर के रूप में स्ट्रिंग डिलीमीटर = इनपुटबॉक्स ("सेल में मूल्यों को अलग करने वाले डिलीमीटर दर्ज करें", "डिलीमीटर", ", ") प्रत्येक के लिए एप्लिकेशन में सेल। सेलेक्शन कॉल हाईलाइटड्यूपवर्ड्सइनसेल (सेल, डेलीमीटर, ट्रू) नेक्स्ट एंड सब सब हाइलाइटड्यूपवर्ड्सइनसेल (सेल ऐज रेंज, ऑप्शनल डिलीमीटर ऐज स्ट्रिंग = "", ऑप्शनल केस सेंसिटिव ऐज बूलियन = ट्रू) डिम टेक्स्ट ऐज स्ट्रिंग डिम वर्ड्स (एज स्ट्रिंग डिम) शब्द स्ट्रिंग के रूप में मंद वर्डइंडेक्स, मैचकाउंट, पोजीशनइनटेक्स्ट इंटेगर के रूप में अगर केस सेंसिटिव है तो शब्द = स्प्लिट (सेल.वैल्यू, डिलिमिटर) अन्य शब्द = स्प्लिट (LCase (सेल.वैल्यू), डिलिमिटर) एंड इफ फॉर वर्डइंडेक्स = एलबाउंड (शब्द) टू यूबाउंड ( शब्द) - 1 शब्द = शब्द (वर्डइंडेक्स) मैचकाउंट = 0 नेक्स्टवर्डइंडेक्स के लिए = वर्डइंडेक्स + 1 यूबाउंड (शब्द) के लिए 0 फिर टेक्स्ट = "" इंडेक्स के लिए = एलबाउंड (शब्द) यूबाउंड (शब्द) टेक्स्ट = टेक्स्ट और amp; शब्द (सूचकांक) यदि (शब्द (सूचकांक) = शब्द) तो सेल। वर्ण (लेन (पाठ) - लेन (शब्द) + 1, लेन (शब्द))। फ़ॉन्ट। रंग = vbRed अंत यदि पाठ = पाठ और amp; Delimiter Next End If Next WordIndex End SubExcel में डुप्लिकेट शब्दों को हाइलाइट करने के लिए मैक्रोज़ का उपयोग कैसे करें
यदि आप VBA का उपयोग करने में शुरुआत कर रहे हैं, तो नीचे दिए गए चरण-दर-चरण निर्देश आपको आराम से मार्गदर्शन करेंगे . अनुभवी उपयोगकर्ता कर सकते हैंबस डाउनलोड लिंक चुनें और बाकी को छोड़ दें :)
कोड को अपनी वर्कबुक में जोड़ें
आप अपनी एक्सेल वर्कबुक में मैक्रो का कोड डालने के साथ शुरू करें। यहां बताया गया है कि कैसे:
- वह कार्यपुस्तिका खोलें जहां आप डुप्स को हाइलाइट करना चाहते हैं।
- Visual Basic Editor खोलने के लिए Alt + F11 दबाएं।
- बाएं फलक पर, राइट-क्लिक करें यह वर्कबुक और संदर्भ मेनू से सम्मिलित करें > मॉड्यूल चुनें।
- कोड विंडो में कोड पेस्ट करें।
- भविष्य में उपयोग के लिए मैक्रो को रखने के लिए, अपनी कार्यपुस्तिका को मैक्रो-सक्षम .xlsm फ़ाइल के रूप में सहेजना सुनिश्चित करें।
वैकल्पिक रूप से, आप हमारी नमूना कार्यपुस्तिका डाउनलोड कर सकते हैं और वहां से मैक्रो चला सकते हैं। नमूना कार्यपुस्तिका में निम्नलिखित मैक्रोज़ शामिल हैं:
- हाइलाइटड्यूप्सकेसइनसेंसिटिव - अक्षरों के मामले को अनदेखा करते हुए एक सेल के भीतर डुप्लिकेट शेड्स।
- हाइलाइटड्यूप्सकेससेंसिटिव - हाइलाइट्स लेटर केस को ध्यान में रखते हुए एक सेल में धोखा।
अधिक जानकारी के लिए, कृपया देखें कि एक्सेल में VBA कोड कैसे डालें।
मैक्रो चलाएँ
कोड के साथ अपनी कार्यपुस्तिका में जोड़ा गया या हमारी नमूना फ़ाइल डाउनलोड की गई और खोली गई, तो मैक्रो को इस तरह से चलाएँ:
- अपनी कार्यपत्रक में, उन कक्षों का चयन करें जहाँ आप डुप्लिकेट पाठ को हाइलाइट करना चाहते हैं। यह एक श्रेणी या एकाधिक गैर-निकटवर्ती श्रेणियां हो सकती हैं।
- Alt + F8 दबाएं।
- रुचि का मैक्रो चुनें और चलाएं क्लिक करें। यह सभी देखें: उदाहरण के साथ एक्सेल में IFNA फ़ंक्शन का उपयोग कैसे करें
- मैक्रो आपसे सीमांकक निर्दिष्ट करने के लिए कहेगाजो चयनित सेल में मानों को अलग करता है। प्रीसेट डिलीमीटर (हमारे मामले में एक अल्पविराम और एक स्थान) स्वचालित रूप से इनपुट बॉक्स में दिखाई देगा। अपनी आवश्यकताओं के आधार पर, आप डिफ़ॉल्ट सीमांकक को छोड़ सकते हैं या एक अलग टाइप कर सकते हैं, और फिर ठीक क्लिक करें।
एक क्षण बाद, चयनित में सभी डुप्लिकेट स्ट्रिंग सेल को लाल रंग में छायांकित किया जाएगा (या आपके कोड में जो भी फ़ॉन्ट रंग सेट किया गया है)।
युक्ति। किसी सेल के भीतर जल्दी से डुप्लीकेट हटाने के लिए, आप रिमूव डुप्लीकेट सबस्ट्रिंग्स का उपयोग कर सकते हैं, जो हमारे अल्टीमेट सूट में शामिल कई समय बचाने वाले टूल में से एक है।
अपनी जरूरतों के लिए कोड कैसे समायोजित करें
इन उपयोग नोट्स और VBA के बहुत ही बुनियादी ज्ञान के साथ (या बस नीचे दिए गए निर्देशों का बारीकी से पालन करते हुए), आप अपनी आवश्यकताओं के अनुसार कोड को आसानी से संशोधित कर सकते हैं।
उसी मॉड्यूल पर रखें
जैसा कि आप देख सकते हैं, दोनों मैक्रोज़ ( हाइलाइटड्यूप्सकेससेंसिटिव और हाइलाइटड्यूप्सकेसइनसेंसिटिव ) हाइलाइटड्यूपवर्ड्सइनसेल फ़ंक्शन को कॉल करते हैं। उपरोक्त दो मैक्रोज़ के बीच का अंतर केवल तीसरे पैरामीटर (केस सेंसिटिव) में उक्त फ़ंक्शन को पास किया गया है।
केस-संवेदी खोज के लिए, यह TRUE पर सेट है:
Call HighlightDupeWordsInCell(Cell, Delimiter, True)
केस-संवेदी खोज के लिए, यह FALSE:
Call HighlightDupeWordsInCell(Cell, Delimiter, False)
मैक्रोज़ के काम करने के लिए, HighlightDupeWordsInCell फ़ंक्शन के कोड को पर रखा जाना चाहिए के समान मॉड्यूलमैक्रोज़।
सीमांकक
चलाते समय, मैक्रो आपसे परिसीमक निर्दिष्ट करने के लिए कहेगा जो चयनित कक्षों में शब्दों/स्ट्रिंग्स को अलग करता है। डिफ़ॉल्ट सीमांकक एक अल्पविराम और एक स्थान (", ") है और यह इनपुटबॉक्स में पूर्व निर्धारित है:
Delimiter = InputBox("Specify the delimiter that separates values in a cell", "Delimiter", ", ")
आपके कोड में, आप किसी अन्य वर्ण का उपयोग करने के लिए स्वतंत्र हैं पूर्वनिर्धारित सीमांकक के रूप में।
रंग
डिफ़ॉल्ट रूप से, हाइलाइटड्यूपवर्ड्सइनसेल फ़ंक्शन शेड्स लाल फ़ॉन्ट रंग में डुप्लिकेट होते हैं। रंग इस पंक्ति में परिभाषित किया गया है:
Cell.Characters(positionInText, Len(word)).Font.Color = vbRed
यहाँ, vbRed एक प्रकार का VBA रंग स्थिरांक है। डुप्स को एक अलग रंग में प्रदर्शित करने के लिए, आप vbRed को दूसरे स्थिरांक जैसे vbGreen, vbYellow, vbBlue, आदि से बदल सकते हैं। T समर्थित रंग स्थिरांक की सूची यहां पाई जा सकती है।
यही है एक्सेल सेल में डुप्लिकेट शब्दों को कैसे हाइलाइट करें। मैं आपको पढ़ने के लिए धन्यवाद देता हूं और उम्मीद करता हूं कि अगले सप्ताह आपको हमारे ब्लॉग पर देखूंगा!
डाउनलोड उपलब्ध हैं
सेल में डुप्लीकेट को हाइलाइट करने के लिए कोड उदाहरण (.xlsm फ़ाइल)
अंतिम सुइट 14-दिवसीय पूर्ण-कार्यात्मक संस्करण (.exe फ़ाइल)