विषयसूची
एक्सेल वीबीए कोड्स के साथ काम करते समय, हमें कुछ ऐसे बिल्ट-इन फंक्शंस मिलते हैं जो एक जटिल कार्य को एक छोटे से एक-पंक्ति वाले कोड में बदल देते हैं। InStr एक्सेल VBA में उपलब्ध एक ऐसा फंक्शन है जो किसी दिए गए स्थान से शुरू होने वाले दूसरे दिए गए स्ट्रिंग के भीतर एक विशेष स्ट्रिंग की खोज करता है। आज मैं दिखाऊंगा कि कैसे आप VBA में InStr फ़ंक्शन का उपयोग किसी अन्य दिए गए स्ट्रिंग के भीतर एक विशिष्ट स्ट्रिंग की खोज के लिए कर सकते हैं।
अभ्यास कार्यपुस्तिका डाउनलोड करें
InStr Function.xlsm
परिचय VBA InStr Function
- सारांश
किसी दिए गए स्थान से शुरू करते हुए, किसी दिए गए स्ट्रिंग के भीतर एक विशिष्ट स्ट्रिंग की खोज करता है। यदि कोई मेल मिलता है, तो दिए गए स्ट्रिंग में वह स्थिति लौटाता है जहां से मैच शुरू हुआ था। ],string1,string2,[तुलना करें])
- तर्क
तर्क | आवश्यकता | विवरण
| ||||||||
---|---|---|---|---|---|---|---|---|---|---|
[प्रारंभ] | वैकल्पिक | वह स्थान जहां से वह खोजना शुरू करेगा। डिफ़ॉल्ट 1 है। | string2 | आवश्यक | वह स्ट्रिंग जिसे वह किसी दिए गए स्ट्रिंग में खोजता है। | |||||
[तुलना करें] | वैकल्पिक | {-1,0,1,2} के बीच एक संख्यात्मक मान जो तुलना के प्रकार को निर्दिष्ट करता है।डिफ़ॉल्ट -1 है (vbUseCompareOption)। यदि विकल्प तुलना विवरण निर्दिष्ट नहीं है, तो बाइनरी तुलना करें। [प्रारंभ] तर्क और [तुलना] तर्क वैकल्पिक हैं, यदि आप [तुलना] तर्क निर्दिष्ट करते हैं तो आपको [प्रारंभ] तर्क की आवश्यकता है। अन्यथा, यह एक त्रुटि उत्पन्न करेगा।
| ||||||||
2 | vbDatabaseCompare | आपके डेटाबेस के आधार पर तुलना करता है . |
- विकल्प तुलना कथन मुख्य VBA कोड शुरू होने से पहले प्रदान किया गया एक कथन है। यह निर्दिष्ट करता है कि आवश्यकता पड़ने पर कोड बाइनरी तुलना या पाठ तुलना की खोज करेगा या नहीं।
विकल्प पाठ की तुलना करें
-
- सरल शब्दों में , बाइनरी तुलना का अर्थ केस-संवेदी हैतुलना।
- सरल शब्दों में , पाठ तुलना का अर्थ है केस-संवेदी तुलना।
- रिटर्न वैल्यू
- string1 में वह स्थिति लौटाता है जिससे string2 शुरू हुआ था।
- string2 की स्थिति में नहीं मिला string1 के भीतर प्रारंभ स्थिति से शुरू होकर, 0 देता है।
- यदि string1 शून्य-लंबाई का है, तो 0 देता है।
- यदि string2 शून्य-लंबाई का है, तो तर्क प्रारंभ देता है।
- और अंत में, यदि string1 या string2 is null , एक एरर देता है।
3 VBA InStr Function का उपयोग करने के आसान उदाहरण
In इस खंड में, हम एक्सेल में VBA InStr फ़ंक्शन को लागू करने के तीन आसान उदाहरण देखेंगे। VBA कोड में InStr फ़ंक्शन का पहला उदाहरण देखते हैं।
1। यह तय करना कि कोई पता ईमेल पता है या नहीं VBA InStr फ़ंक्शन का उपयोग करके
यहाँ, हमने एक डेटा सेट लिया है जिसमें ग्राहकों के कुछ संपर्क पते शामिल हैं। यहां हमारा लक्ष्य यह पहचान करना होगा कि पते ईमेल पते हैं या नहीं।
अब हम पहचानने के लिए InStr फ़ंक्शन का उपयोग करके एक VBA कोड विकसित करेंगे यह एक ईमेल पता है या नहीं। ऐसा करने के लिए, नीचे दिए गए चरणों का पालन करें।
चरण:
- शुरुआत में, डेवलपर टैब पर जाएं और <का चयन करें। 1>विज़ुअल बेसिक ( या VBA खोलने के लिए Alt+F11) दबाएंwindow.
- फिर, VBA विंडो पर Insert > मॉड्यूल ।
- इसके अलावा, हमने निर्णय नामक एक फ़ंक्शन बनाया है। यह तय करता है कि कोई पता ईमेल पता है या नहीं। हमारे पास मौजूद डेटा सेट पर फ़ंक्शन लागू करते हैं।
- सेल C5 पर, निम्न सूत्र लिखें और फिर भरण हैंडल का उपयोग करके शेष कोशिकाओं को ऑटोफिल करें।
=DECISION(B5)
- जैसा कि हम देख सकते हैं, हमने प्रत्येक पते की पहचान की है कि क्या यह एक ईमेल पता है या नहीं।
🎓 कोड कैसे काम करता है?
- फ़ंक्शन निर्णय (स्ट्रिंग1 स्ट्रिंग के रूप में)
सबसे पहले, यह निर्णय नामक एक फ़ंक्शन बनाता है स्ट्रिंग तर्क का नाम string1 .
- पूर्णांक के रूप में मंद स्थिति
यह स्थिति<नामक एक पूर्णांक चर घोषित करता है 2>.
- स्थिति = InStr(1, string1, “@”, 0)
यह का मान प्रदान करता है स्थिति वैरिएबल को InStr फ़ंक्शन के आउटपुट के रूप में 1, string1, “@” और 0 तर्कों के साथ कार्य करता है। संक्षेप में, यह उस पते में स्थिति निर्दिष्ट करता है जहां एक "@" है।
- यदि स्थिति = 0 तो निर्णय = "ईमेल नहीं"
यह निर्णय फ़ंक्शन के आउटपुट को "ईमेल नहीं" के रूप में निर्दिष्ट करता है, यदि स्थिति वेरिएबल 0 है, इसका मतलब है कि एड्रेस में कोई “@” नहीं था। 1>InStr फ़ंक्शन रिटर्न 0 ).
- अन्यथा निर्णय = "ईमेल"
यह असाइन करता है यदि पते में "@" था तो निर्णय का आउटपुट "ईमेल" के रूप में होता है। इस प्रकार जिन पतों पर "@" है उन्हें ईमेल के रूप में वर्गीकृत किया गया है, और बाकी को "ईमेल नहीं" के रूप में वर्गीकृत किया गया है।
समान रीडिंग
- एक्सेल में VBA UCASE फ़ंक्शन का उपयोग कैसे करें (4 उदाहरण)
- एक्सेल VBA में MsgBox फ़ंक्शन का उपयोग करें (एक संपूर्ण दिशानिर्देश)
- एक्सेल में VBA SPLIT फ़ंक्शन का उपयोग कैसे करें (5 उदाहरण)
- एक्सेल में VBA में LCase फ़ंक्शन का उपयोग करें (साथ में) 4 उदाहरण)
- एक्सेल VBA में फिक्स फ़ंक्शन का उपयोग कैसे करें (4 उदाहरण)
2. कुछ ईमेल पतों के विस्तार को निकालने के लिए
यहां, हमारे पास कुछ ग्राहकों के कुछ ईमेल पतों की एक सूची है। इस बार हम ईमेल पते का विस्तार निकालेंगे जैसे कि उनके पास gmail.com या yahoo.com है।
ऐसा करने के लिए, नीचे दिए गए चरणों का पालन करें।
चरण:
- शुरू करने के लिए, पिछली विधि की तरह, एक नया VBA<2 खोलें> मॉड्यूल और विंडो में निम्न कोड पेस्ट करें।
7722
- इसके अलावा, हमने एक फ़ंक्शन बनाया है एक्सटेंशन । यह किसी भी ईमेल पते का विस्तार निकालता है।
- इसके अलावा, आइए इस फ़ंक्शन को हमारे पास मौजूद डेटा सेट पर लागू करें। सबसे पहले, इस सूत्र को सेल C5 पर दर्ज करें और फिर फिल हैंडल पर डबल-क्लिक करें।
=EXTENSION(B5)
- अंत में, हम देख सकते हैं कि हमने सभी ईमेल का एक्सटेंशन सफलतापूर्वक निकाल लिया है।
🎓 कोड कैसे काम करता है?
- फ़ंक्शन एक्सटेंशन (स्ट्रिंग के रूप में ईमेल)
यह एक्सटेंशन नामक एक नया फ़ंक्शन बनाता है, जिसमें एक ईमेल नामक स्ट्रिंग तर्क।
- पूर्णांक के रूप में मंद स्थिति
यह भाग स्थिति नामक एक पूर्णांक चर घोषित करता है .
यह सभी देखें: एक्सेल में स्क्रॉल बार कैसे डालें (2 उपयुक्त तरीके)- स्थिति = InStr(1, ईमेल, "@", 0)
यह <1 का मान प्रदान करता है InStr फ़ंक्शन के आउटपुट के रूप में 1, ईमेल, "@" और 0 तर्कों के साथ स्थिति चर। संक्षेप में, यह ईमेल में स्थिति निर्दिष्ट करता है जहां "@" है।
- विस्तार = अधिकार(ईमेल, (लेन) (ईमेल) – स्थिति))
यह भाग एक्सटेंशन फ़ंक्शन के आउटपुट को प्रतीक “@” के बाद वर्णों के रूप में निर्दिष्ट करता है। यह ईमेल का आवश्यक विस्तार है।
3. VBA InStr फ़ंक्शन का उपयोग करके नाम से पहला या अंतिम नाम निकालना
अंत में, हम एक विशिष्ट भिन्न कार्य करेंगे। इस बार हमारे पास कुछ कर्मचारियों के नाम हैंएक कंपनी। और हम कर्मचारियों का पहला नाम या अंतिम नाम निकालने के लिए एक फ़ंक्शन बनाने का प्रयास करेंगे।
ऐसा करने के लिए, नीचे दिए गए चरणों का पालन करें।
चरण:
- सबसे पहले, पद्धति 1 के समान, VBA विंडो में एक नए मॉड्यूल में नीचे दिए गए कोड को पेस्ट करें।
8238
- यहां, हमने SHORTNAME नाम का एक फंक्शन बनाया है जो नाम से या तो पहला नाम या अंतिम नाम निकालता है। आइए इस सूत्र को अपने डेटा सेट पर लागू करें।
- सबसे पहले, पहला नाम निकालने के लिए, नीचे दिए गए सूत्र को सेल C5 में लिखें।
=SHORTNAME(B5,-1)
- अंत में, अंतिम नाम निकालने के लिए, हम निम्न सूत्र को D5 में लिखते हैं:
=SHORTNAME(B5,1)
- बाद में, अगर हम बाकी सेल को फिल हैंडलर<2 से ऑटो-फिल करते हैं>, हम अपना वांछित परिणाम देखेंगे।
🎓 कोड कैसे काम करता है?
- फ़ंक्शन SHORTNAME(स्ट्रिंग के रूप में नाम, पूर्णांक के रूप में First_or_Last)
यह SHORTNAME<2 नामक एक नया फ़ंक्शन बनाता है> नाम नामक एक स्ट्रिंग तर्क और First_or_Last नामक एक पूर्णांक तर्क के साथ।
- पूर्णांक के रूप में मंद विराम <11
- Break = InStr(1, Name, "", 0) <10
- If First_or_Last = -1 तब SHORTNAME = लेफ्ट (नाम, ब्रेक – 1)
यह भाग Break नामक एक नया पूर्णांक चर घोषित करता है।
यह तर्कों के साथ InStr फ़ंक्शन के आउटपुट के रूप में ब्रेक वैरिएबल का मान असाइन करता है 1, नाम, "" और 0 । संक्षेप में, यह नाम में स्थान प्रदान करता है जहां स्थान ("") है।
यह लाइन SHORTNAME फंक्शन के आउटपुट को स्पेस से पहले कैरेक्टर के रूप में असाइन करती है, अगर First_or_Last तर्क -1 है। ये पहला नाम है। यदि First_or_Last तर्क 1 है, तो SHORTNAME वर्णों के रूप में स्पेस के बाद कार्य करता है। यह अंतिम नाम है।
निष्कर्ष
इस तरह, आप InStr फ़ंक्शन के साथ वीबीए कोड लिख सकते हैं जो किसी दिए गए स्ट्रिंग के भीतर एक विशिष्ट स्ट्रिंग की स्थिति का पता लगाता है स्ट्रिंग, और फिर आप विभिन्न प्रकार के उपयोगों के लिए अपने स्वयं के कार्य बना सकते हैं। इसके अलावा, यदि आपके कोई प्रश्न हैं, तो बेझिझक हमसे पूछें।