विषयसूची
कार्यान्वयन VBA एक्सेल में किसी भी ऑपरेशन को चलाने के लिए सबसे प्रभावी, तेज और सबसे सुरक्षित तरीका है। इस लेख में, हम आपको दिखाएंगे कि एक्सेल में VBA का उपयोग करके किसी अन्य स्ट्रिंग में कुछ स्ट्रिंग्स को कैसे खोजें।
अभ्यास टेम्पलेट डाउनलोड करें
आप नि:शुल्क अभ्यास एक्सेल टेम्प्लेट यहां से डाउनलोड कर सकते हैं।
VBA to Find in String.xlsm
InStr Function
Microsoft Excel में एक अंतर्निहित फ़ंक्शन है जिसे InStr फ़ंक्शन कहा जाता है, जो किसी दिए गए स्ट्रिंग में विशिष्ट स्ट्रिंग्स की स्थिति का पता लगाने के लिए है।
जेनेरिक सिंटैक्स:
InStr([start], string1, string2, [compare])
यहां,
तर्क | आवश्यक/वैकल्पिक | परिभाषा |
---|---|---|
प्रारंभ करें | वैकल्पिक | खोज की आरंभिक स्थिति।
|
string1 | आवश्यक | खोजने के लिए स्ट्रिंग, प्राथमिक स्ट्रिंग. |
string2 | आवश्यक | प्राथमिक स्ट्रिंग में खोजने के लिए स्ट्रिंग . |
तुलना करें | वैकल्पिक | InStr फ़ंक्शन डिफ़ॉल्ट रूप से केस-संवेदी है। लेकिन अगर आप केस असंवेदनशील InStr चलाना चाहते हैं, तो आप एक निश्चित तुलना करने के लिए यहां तर्क पारित कर सकते हैं। यह तर्क निम्न हो सकता हैमान,
डिफ़ॉल्ट रूप से, InStr तुलना तर्क के रूप में vbBinaryCompare लेता है। |
VBA का उपयोग करके दिए गए स्ट्रिंग में विशिष्ट स्ट्रिंग स्थिति खोजने के लिए 8 आसान उदाहरण
आइए कुछ सरल उदाहरण देखें, जिससे किसी दिए गए स्ट्रिंग में कुछ स्ट्रिंग्स की स्थिति प्राप्त करने के लिए उपयोग किया जा सके VBA .
1. स्ट्रिंग में टेक्स्ट की स्थिति जानने के लिए VBA
नीचे खोजने के लिए InStr का एक उदाहरण दिया गया है स्ट्रिंग में टेक्स्ट की स्थिति।
- अपने कीबोर्ड पर Alt + F11 दबाएं या टैब डेवलपर -> Visual Basic खोलने के लिए Visual Basic Editor .
- मेनू बार से पॉप-अप कोड विंडो में , क्लिक करें डालें -> मॉड्यूल ।
- अब कोड विंडो में, एक VBA उप के अंदर एक साधारण InStr प्रोग्राम लिखें प्रक्रिया (नीचे देखें)।
5190
आपका कोड अब चलने के लिए तैयार है।
- F5 दबाएं अपने कीबोर्ड पर या मेनू बार से Run -> Sub/UserForm चलाएँ। आप मैक्रो को चलाने के लिए सब-मेन्यू बार में छोटे Play आइकन पर भी क्लिक कर सकते हैं।
आप देखेंगे कि पॉप-अप संदेश बॉक्स आपको नंबर देगाउस पाठ की स्थिति घोषित करना जिसे आप जांचना चाहते थे।
व्याख्या:
हमारी प्राथमिक स्ट्रिंग, “ खुशी एक विकल्प है " एक 21 अक्षर का वाक्य है (रिक्त स्थान के साथ) और हम उस स्ट्रिंग में " पसंद " टेक्स्ट की स्थिति खोजना चाहते थे। पाठ " विकल्प " प्राथमिक स्ट्रिंग की 16वीं स्थिति से शुरू हुआ, इसलिए हमें संदेश बॉक्स में हमारे आउटपुट के रूप में संख्या 16 मिली।
2. स्ट्रिंग में एक विशिष्ट स्थिति से पाठ खोजने के लिए VBA
अब पता करें कि क्या होगा यदि हम एक निश्चित संख्या से स्थिति प्राप्त करना चाहते हैं।
- उसी तरह जैसे इससे पहले, डेवलपर टैब से विजुअल बेसिक एडिटर खोलें और कोड विंडो में मॉड्यूल डालें डालें।
- में कोड विंडो में, ऊपर दिखाया गया एक सरल InStr प्रोग्राम लिखें और उस स्थिति के अनुसार प्रारंभ तर्क में मान पास करें, जहां से आप अपना टेक्स्ट गिनना चाहते हैं।
6201
- अगला, दर्ज करें कोड।
आप देखेंगे कि पॉप-अप संदेश बॉक्स आपको टेक्स्ट एक निश्चित स्थिति से शुरू करते हुए की स्थिति की घोषणा करने वाली संख्या देता है जिसे आप जांचना चाहते थे।
स्पष्टीकरण:
जैसा कि हम पहले से ही जानते थे (पहले चरण की चर्चा से) कि टेक्स्ट " विकल्प " 16 की स्थिति से शुरू हुआ था, इसलिए हमने दो "डाल दिए" प्राथमिक स्ट्रिंग में चुनाव " और 17 को हमारेपहले " विकल्प " को छोड़ने के लिए पहला पैरामीटर। तो, हम उपरोक्त मैक्रो चलाते हैं और यह हमें स्थिति संख्या 27 दिखाता है जो वास्तव में दूसरा " विकल्प " की स्थिति संख्या है दी गई स्ट्रिंग में.
3. VBA स्ट्रिंग में केस-असंवेदनशील InStr फ़ंक्शन के साथ पाठ खोजने के लिए
InStr फ़ंक्शन के परिचय से आप पहले से ही जानते हैं कि डिफ़ॉल्ट रूप से, InStr फ़ंक्शन केस संवेदी है। आइए एक उदाहरण के साथ इसका पता लगाएं।
निम्नलिखित VBA कोड देखें, जहां हम " विकल्प शब्द की स्थिति का पता लगाना चाहते थे ” एक बड़े "सी" के साथ स्ट्रिंग में " खुशी एक विकल्प है " जहां पसंद को छोटे "सी" के साथ लिखा गया है .
- कोड चलाएँ और 0 हमारे आउटपुट के रूप में खोजें।
ऐसा इसलिए है क्योंकि InStr फंक्शन कैपिटल "C" और स्मॉल "c" को अलग तरह से ट्रीट करता है। इसलिए इसने स्ट्रिंग में " चॉइस " शब्द खोजा और कोई मेल नहीं मिला, इसलिए 0 वापस आ गया।
- InStr फंक्शन केस-असंवेदनशील बनाने के लिए, तुलना तर्क को vbTextCompare पर सेट करें (नीचे देखें)।
2669
- कोड चलाएँ।
आपको पाठ की स्थिति मिल जाएगी स्ट्रिंग से, चाहे टेक्स्ट कैपिटल लेटर या स्मॉल लेटर में लिखा गया हो।
4. स्ट्रिंग के राइट से टेक्स्ट खोजने के लिए VBA
अब तक InStr फंक्शन हमें केवल स्ट्रिंग के बाईं ओर से स्थिति दे रहा था। लेकिन क्या होगा यदि आप स्ट्रिंग के दाईं ओर से पाठ की स्थिति का पता लगाना चाहते हैं।
InStrRev फ़ंक्शन दाईं ओर से खोजता है। InStrRev फ़ंक्शन InStr फ़ंक्शन के समान ही काम करता है और यह आपको स्ट्रिंग के दाईं ओर से पाठ की स्थिति का पता लगाएगा।
अंतर को समझने के लिए निम्न उदाहरण देखें।
- यदि हम निम्न कोड को InStr फ़ंक्शन के साथ चलाते हैं, तो
यह हमें पहले पाठ " विकल्प " की स्थिति ( 16 ) देता है।
- लेकिन अगर हम उसी कोड को InStrRev फंक्शन के साथ चलाते हैं तो,
यह हमें स्थिति देता है ( 27 ) अंतिम पाठ का " विकल्प "।
समान रीडिंग:
- Excel में VBA का उपयोग करके FindNext (2 उदाहरण)
- VBA का उपयोग करके कैसे खोजें और बदलें (11 तरीके)
- Excel में VBA का उपयोग करके सटीक मिलान खोजें (5 तरीके)
5। VBA स्ट्रिंग में एक वर्ण की स्थिति का पता लगाने के लिए
आप एक स्ट्रिंग में एक निश्चित वर्ण की स्थिति उसी तरह पा सकते हैं जिस तरह से आपने टेक्स्ट पाया था।
- कॉपी करें आपके VBA कोड विंडो
7582
- और मैक्रो चलाएं।
हमारी दी गई स्ट्रिंग में पहला “ e ” हैसंख्या 7 स्थिति।
6। स्ट्रिंग में सबस्ट्रिंग खोजने के लिए वीबीए
यहां हम सीखेंगे कि कैसे पता करें कि स्ट्रिंग में सबस्ट्रिंग है या नहीं।
इसे प्राप्त करने के लिए, हमारे पास है हमारे कोड में IF Statement चलाने के लिए।
- पहले की तरह ही, डेवलपर टैब से Visual Basic Editor खोलें और कोड विंडो में एक मॉड्यूल डालें।
- कोड विंडो में, निम्नलिखित कोड को कॉपी करें और पेस्ट करें।
7251
आपका कोड अब चलने के लिए तैयार है।
- मैक्रो चलाएँ।
यदि आपके स्ट्रिंग में सबस्ट्रिंग है तो आपको मैच मिला मिलेगा, अन्यथा, यह नो मैच फाउंड रिटर्न देगा। हमारे उदाहरण में, हम यह पता लगाना चाहते थे कि क्या हमारी प्राथमिक स्ट्रिंग " खुशी एक विकल्प है " में " पसंद " शब्द शामिल है या नहीं। जैसा कि होता है, हमें मिलान मिला परिणाम मिलता है।
7। सेल रेंज में स्ट्रिंग खोजने के लिए VBA
आप स्ट्रिंग की सेल रेंज में एक निश्चित टेक्स्ट खोज सकते हैं और एक निश्चित स्ट्रिंग वापस कर सकते हैं।
निम्नलिखित उदाहरण देखें जहां हम करेंगे " डॉ. " ढूंढें और जब मैच होगा तो यह " डॉक्टर " लौटाएगा।
- ऊपर चर्चा किए गए परिणाम प्राप्त करने के लिए कोड नीचे दिया गया है,
5763
- चलाएं कोड और परिणाम नीचे दिखाया गया है
- आप अपनी आवश्यकता के अनुसार मैक्रो को संशोधित कर सकते हैं। मसलन, अगर आप चाहेंस्ट्रिंग के किसी भी सेल में " प्रो. " खोजने के लिए, और रिटर्न के रूप में " प्रोफेसर " प्राप्त करें, फिर बस "<1 पास करें प्रोफ. मैक्रो की चौथी पंक्ति में और मैक्रो की 5वीं पंक्ति में " डॉक्टर " के बजाय " प्रोफेसर " और परिभाषित करें तदनुसार सेल श्रेणी संख्या।
8। सेल में स्ट्रिंग खोजने के लिए VBA
आप स्ट्रिंग के एक सेल में एक निश्चित पाठ खोज सकते हैं और एक निश्चित स्ट्रिंग वापस कर सकते हैं।
- निम्नलिखित कोड को कॉपी करें और इसे कोड विंडो में पेस्ट करें।>" सेल B5 में और यदि यह मैच पाता है तो सेल C5
में " डॉक्टर " लौटाता है।
- आप अपनी आवश्यकता के अनुसार मैक्रो को संशोधित कर सकते हैं। उदाहरण के लिए, यदि आप स्ट्रिंग के किसी भी सेल में “ प्रो. ” खोजना चाहते हैं, और रिटर्न के रूप में “ प्रोफेसर ” प्राप्त करना चाहते हैं, फिर बस " प्रो. " को " डॉ " के बजाय मान के रूप में पास करें। मैक्रो की दूसरी पंक्ति में और मैक्रो की तीसरी पंक्ति में " डॉक्टर " के बजाय " प्रोफेसर " और परिभाषित करें तदनुसार सेल संदर्भ संख्या।
निष्कर्ष
इस लेख ने आपको VBA मैक्रो का उपयोग करके एक्सेल में स्ट्रिंग में कुछ टेक्स्ट खोजने का तरीका दिखाया। मुझे उम्मीद है कि यह लेख आपके लिए बहुत फायदेमंद रहा होगा। के संबंध में कोई भी प्रश्न बेझिझक पूछेंविषय।