सामग्री सारणी
अंमलबजावणी करणे VBA ही Excel मध्ये कोणतेही ऑपरेशन चालविण्यासाठी सर्वात प्रभावी, जलद आणि सुरक्षित पद्धत आहे. या लेखात, आम्ही एक्सेलमध्ये VBA वापरून दुसर्या दिलेल्या स्ट्रिंगमध्ये विशिष्ट स्ट्रिंग कसे शोधायचे ते दाखवू.
सराव टेम्पलेट डाउनलोड करा
तुम्ही येथून विनामूल्य सराव एक्सेल टेम्पलेट डाउनलोड करू शकता.
String.xlsm मध्ये शोधण्यासाठी VBA
InStr फंक्शन
मायक्रोसॉफ्ट एक्सेलमध्ये दिलेल्या स्ट्रिंगमधील विशिष्ट स्ट्रिंगची स्थिती शोधण्यासाठी InStr फंक्शन नावाचे अंगभूत फंक्शन आहे.
जेनेरिक सिंटॅक्स:
InStr([start], string1, string2, [compare])
येथे,
वितर्क | आवश्यक/ पर्यायी | व्याख्या |
---|---|---|
प्रारंभ | पर्यायी | शोधाची सुरुवातीची स्थिती.
|
स्ट्रिंग1 | आवश्यक | शोधण्यासाठी स्ट्रिंग, प्राथमिक स्ट्रिंग. |
स्ट्रिंग2 | आवश्यक | प्राथमिक स्ट्रिंगमध्ये शोधण्यासाठी स्ट्रिंग . |
तुलना करा | पर्यायी | InStr फंक्शन डीफॉल्टनुसार केस-संवेदी आहे. परंतु जर तुम्हाला केस असंवेदनशील InStr चालवायचे असेल, तर तुम्ही विशिष्ट तुलना करण्यासाठी येथे युक्तिवाद पास करू शकता. हा युक्तिवाद खालीलप्रमाणे असू शकतोमूल्ये,
डिफॉल्टनुसार, InStr तुलना वितर्क म्हणून vbBinaryCompare घेते. |
8 VBA वापरून दिलेल्या स्ट्रिंगमध्ये विशिष्ट स्ट्रिंगची स्थिती शोधण्याची सोपी उदाहरणे
दिलेल्या स्ट्रिंगमध्ये विशिष्ट स्ट्रिंगची पोझिशन मिळवण्यासाठी काही सोपी उदाहरणे पाहू. VBA .
1. स्ट्रिंगमधील मजकूराची स्थिती शोधण्यासाठी VBA
खाली शोधण्यासाठी InStr चे उदाहरण आहे स्ट्रिंगमधील मजकूराची स्थिती.
- तुमच्या कीबोर्डवरील Alt + F11 दाबा किंवा डेव्हलपर -> टॅबवर जा. व्हिज्युअल बेसिक उघडण्यासाठी व्हिज्युअल बेसिक एडिटर .
- पॉप-अप कोड विंडोमध्ये, मेनू बारमधून , घाला -> मॉड्यूल .
- आता कोड विंडोमध्ये, VBA सबमध्ये एक साधा InStr प्रोग्राम लिहा. प्रक्रिया (खाली पहा).
5016
तुमचा कोड आता चालण्यासाठी तयार आहे.
- F5 दाबा तुमच्या कीबोर्डवर किंवा मेनू बारमधून चालवा -> Sub/UserForm चालवा. तुम्ही मॅक्रो चालवण्यासाठी सब-मेनू बारमधील स्मॉल प्ले आयकॉन वर क्लिक देखील करू शकता.
तुम्हाला दिसेल की पॉप-अप संदेश बॉक्स तुम्हाला नंबर देईलतुम्हाला जो मजकूर तपासायचा आहे त्याची स्थिती घोषित करणे.
स्पष्टीकरण:
आमची प्राथमिक स्ट्रिंग, “ आनंद is a choice ” हे २१ अक्षरांचे वाक्य आहे (स्पेससह) आणि आम्हाला त्या स्ट्रिंगमधील “ चॉइस ” मजकुराची स्थिती शोधायची होती. " चॉइस " हा मजकूर प्राथमिक स्ट्रिंगच्या 16 व्या स्थानापासून सुरू झाला, म्हणून आम्हाला संदेश बॉक्समध्ये आमचे आउटपुट म्हणून 16 क्रमांक मिळाला.
2. स्ट्रिंगमधील विशिष्ट स्थानावरून मजकूर शोधण्यासाठी VBA
आता एखाद्या विशिष्ट संख्येवरून स्थान मिळवायचे असल्यास काय होईल ते शोधूया.
- त्याच प्रकारे आधी, डेव्हलपर टॅबमधून Visual Basic Editor उघडा आणि कोड विंडोमध्ये Insert a Module .
- मध्ये कोड विंडोवर, वर दाखवलेला एक साधा InStr प्रोग्राम लिहा आणि तुम्हाला तुमचा मजकूर ज्या स्थानावरून मोजायचा आहे त्यानुसार स्टार्ट आर्ग्युमेंटमध्ये मूल्य पास करा.
4048
- पुढे, कोड रन करा.
तुम्हाला पॉप-अप संदेश बॉक्स दिसेल तुम्हाला एक नंबर द्या मजकुराच्या विशिष्ट स्थितीपासून सुरू होणारा जो तुम्हाला तपासायचा आहे.
स्पष्टीकरण:
आम्हाला आधीच माहित होते (फेज 1 चर्चेतून) की " निवड " मजकूर 16 च्या स्थितीपासून सुरू झाला आहे, म्हणून आम्ही दोन समाविष्ट केले " प्राथमिक स्ट्रिंगमध्ये निवड ” आणि 17 आमच्या म्हणून सेट करापहिली “ निवड ” वगळण्यासाठी पहिले पॅरामीटर. म्हणून, आम्ही वरील मॅक्रो चालवा आणि त्याने आम्हाला स्थान क्रमांक 27 दाखवला जो नेमका सेकंद “ चॉइस ” चा स्थान क्रमांक आहे. दिलेल्या स्ट्रिंगमध्ये.
3. स्ट्रिंगमध्ये केस-असंवेदनशील InStr फंक्शनसह मजकूर शोधण्यासाठी VBA
InStr फंक्शनच्या परिचयातून तुम्हाला आधीच माहित आहे की डीफॉल्टनुसार, InStr फंक्शन केस संवेदनशील आहे. चला ते एका उदाहरणाने शोधू.
खालील VBA कोड पहा, जिथे आम्हाला “ निवड या शब्दाची स्थिती शोधायची होती. “ कॅपिटल “C” या स्ट्रिंगमध्ये “ Happiness is a choice ” जेथे चॉईस लहान “c” ने लिहिलेला आहे. .
- कोड चालवा आणि आमचे आउटपुट म्हणून 0 शोधा.
कारण InStr फंक्शन कॅपिटल “C” आणि लहान “c” वेगळ्या पद्धतीने हाताळते. म्हणून त्याने स्ट्रिंगमध्ये “ निवड ” हा शब्द शोधला आणि त्याला कोणतीही जुळणी मिळाली नाही, म्हणून 0 परत आला.
- <17 InStr फंक्शन केस-संवेदनशील करण्यासाठी, तुलना वितर्क vbTextCompare वर सेट करा (खाली पहा).
9512
- कोड चालवा.
तुम्हाला मजकूराची स्थिती मिळेल स्ट्रिंगमधून, मजकूर कॅपिटल अक्षरे किंवा लहान अक्षरे मध्ये लिहिलेला असला तरीही.
4. स्ट्रिंगच्या उजवीकडून मजकूर शोधण्यासाठी VBA
आतापर्यंत InStr फंक्शन आपल्याला फक्त स्ट्रिंगच्या डाव्या बाजूने स्थान देत होते. पण जर तुम्हाला स्ट्रिंगच्या उजव्या बाजूने मजकूर स्थान शोधायचे असेल तर काय.
InStrRev फंक्शन उजवीकडून शोधते. InStrRev फंक्शन InStr फंक्शन सारखेच कार्य करते आणि ते तुम्हाला स्ट्रिंगच्या उजव्या बाजूने मजकुराची स्थिती शोधेल.
फरक समजण्यासाठी खालील उदाहरणे पहा.
- जर आपण खालील कोड InStr फंक्शनसह रन केले तर,
ते आम्हाला पहिल्या मजकुराची स्थिती ( 16 ) देते “ निवड ”.
- परंतु जर आपण हाच कोड InStrRev फंक्शनसह चालवला तर,
ते आपल्याला स्थान देते. ( 27 ) शेवटचा मजकूर “ निवड ”.
समान वाचन:
- एक्सेलमध्ये VBA वापरून पुढील शोधा (2 उदाहरणे)
- VBA (11 मार्ग) वापरून कसे शोधावे आणि पुनर्स्थित कसे करावे
- एक्सेलमध्ये VBA वापरून अचूक जुळणी शोधा (5 मार्ग)
5. स्ट्रिंगमध्ये वर्णाची स्थिती शोधण्यासाठी VBA
तुम्ही स्ट्रिंगमध्ये एखाद्या विशिष्ट वर्णाची स्थिती ज्या प्रकारे तुम्हाला मजकूर सापडला त्याच प्रकारे शोधू शकता.
- कॉपी करा. तुमच्या VBA कोड विंडोमध्ये खालील कोड
3191
- आणि रन मॅक्रो.
आमच्या दिलेल्या स्ट्रिंगमधील पहिला “ e ” येथे आहेसंख्या 7 स्थिती.
6. स्ट्रिंगमध्ये सबस्ट्रिंग शोधण्यासाठी VBA
स्ट्रिंगमध्ये सबस्ट्रिंग आहे की नाही हे कसे शोधायचे ते येथे आपण शिकू.
ते मिळवण्यासाठी आमच्याकडे आहे. आमच्या कोडमध्ये IF स्टेटमेंट चालवण्यासाठी.
- पूर्वीप्रमाणेच, डेव्हलपर टॅबमधून Visual Basic Editor उघडा आणि कोड विंडोमध्ये मोड्युल घाला.
- कोड विंडोमध्ये, खालील कोड कॉपी करा आणि पेस्ट करा.
2621
तुमचे कोड आता चालण्यासाठी तयार आहे.
- रन मॅक्रो.
जर तुमच्या स्ट्रिंगमध्ये सबस्ट्रिंग असेल तर तुम्हाला एक सामना सापडेल मिळेल, अन्यथा, ते कोणतेही जुळले नाही असे दर्शवेल. आमच्या उदाहरणात, आम्हाला आमच्या प्राथमिक स्ट्रिंग " आनंद ही एक निवड आहे " मध्ये " निवड " हा शब्द आहे किंवा नाही हे शोधायचे आहे नाही तसे, आम्हाला सामना सापडला निकाल मिळेल.
7. सेल रेंजमध्ये स्ट्रिंग शोधण्यासाठी VBA
तुम्ही स्ट्रिंगच्या सेल रेंजमध्ये ठराविक मजकूर शोधू शकता आणि विशिष्ट स्ट्रिंग परत करू शकता.
पुढील उदाहरण पहा जिथे आपण “ डॉ. ” शोधा आणि जेव्हा जुळते तेव्हा ते “ डॉक्टर ” परत येईल.
- वर चर्चा केलेला निकाल मिळविण्यासाठी खाली कोड आहे,
7756
- चालवा कोड आणि परिणाम खाली दर्शविला आहे
- तुम्ही तुमच्या गरजेनुसार मॅक्रो बदलू शकता. उदाहरणार्थ, आपण इच्छित असल्यासस्ट्रिंगच्या कोणत्याही सेलमध्ये “ प्रो. ” शोधण्यासाठी आणि परतावा म्हणून “ प्राध्यापक ” मिळवा, नंतर फक्त “<1 पास करा प्रा. ” हे मूल्य “ डॉ ” ऐवजी. मॅक्रोच्या चौथ्या ओळीत आणि मॅक्रोच्या 5व्या ओळीत “ डॉक्टर ” ऐवजी “ प्राध्यापक ” आणि परिभाषित करा सेल रेंज नंबर त्यानुसार.
8. सेलमध्ये स्ट्रिंग शोधण्यासाठी VBA
तुम्ही स्ट्रिंगच्या एका सेलमध्ये विशिष्ट मजकूर शोधू शकता आणि विशिष्ट स्ट्रिंग परत करू शकता.
- खालील कोड कॉपी करा आणि कोड विंडोमध्ये पेस्ट करा.
4987
ते “ डॉ. <2 शोधेल>” सेल B5 मध्ये आणि जर तो जुळला तर सेल C5 मध्ये “ डॉक्टर ” परत करतो.
- तुम्ही तुमच्या गरजेनुसार मॅक्रो बदलू शकता. उदाहरणार्थ, तुम्हाला स्ट्रिंगच्या कोणत्याही सेलमध्ये “ प्रो. ” शोधायचे असल्यास आणि परतावा म्हणून “ प्राध्यापक ” मिळवायचे असल्यास, नंतर फक्त “ डॉ ” ऐवजी “ प्रा. ” मूल्य म्हणून पास करा. मॅक्रोच्या दुसऱ्या ओळीत आणि मॅक्रोच्या तिसऱ्या ओळीत “ डॉक्टर ” ऐवजी “ प्रोफेसर ” आणि परिभाषित करा त्यानुसार सेल संदर्भ क्रमांक.
निष्कर्ष
या लेखात तुम्हाला VBA मॅक्रो वापरून एक्सेलमधील स्ट्रिंगमधील ठराविक मजकूर कसे शोधायचे ते दाखवले आहे. मला आशा आहे की हा लेख तुमच्यासाठी खूप फायदेशीर ठरला आहे. संबंधित कोणतेही प्रश्न विचारण्यास मोकळ्या मनानेविषय.