VBA InStr - Excel VBA InStr फ़ंक्शन का उपयोग करने के लिए शीर्ष 5 उदाहरण

एक्सेल VBA InStr फ़ंक्शन

VBA में Instr का उपयोग किसी स्ट्रिंग में दिए गए विकल्प की स्थिति का पता लगाने के लिए किया जाता है क्योंकि हम फ़ंक्शन को तुलना विधि निर्दिष्ट करते हैं, इस फ़ंक्शन के लिए चार अलग-अलग तुलना विधियां हैं, Instr एक स्ट्रिंग फ़ंक्शन है लेकिन फ़ंक्शन द्वारा लौटाए गए आउटपुट है संख्यात्मक इसलिए आउटपुट यह फ़ंक्शन एक पूर्णांक चर में है।

वीबीए में स्ट्रिंग कुछ भी नहीं है, बल्कि पात्रों की एक श्रृंखला है, जो कि दोहरे उद्धरण चिह्नों के साथ दिए गए सभी ग्रंथों को तार के रूप में माना जाता है। InStr फ़ंक्शन एक अंतर्निहित पाठ फ़ंक्शन है जिसका उपयोग स्ट्रिंग्स में हेरफेर करने के लिए किया जाता है। उदाहरण के लिए - यदि आप एक वाक्य से एक विकल्प निकालना चाहते हैं या यदि आप वर्णों की श्रृंखला में किसी विशेष स्ट्रिंग के लिए फ़ॉन्ट डिज़ाइन परिवर्तन लागू करना चाहते हैं, या यदि आप किसी वर्ण और कई अन्य संभावनाओं की स्थिति का पता लगाना चाहते हैं, तो आप कर सकते हैं InStr का उपयोग करें।

वाक्य - विन्यास

इसकी 4 दलीलें हैं, जैसा कि नीचे दी गई छवि में दिखाया गया है।

  • (प्रारंभ): यह अनिवार्य नहीं है। यह संख्यात्मक मान है जिसे हमें निर्दिष्ट करने की आवश्यकता है कि स्ट्रिंग की किस स्थिति में आपूर्ति पाठ के लिए Instr फ़ंक्शन शुरू होता है। उदाहरण के लिए: यदि आप चरित्र खोज करना चाहते हैं "एक" शब्द में "बैंगलोर" 3 से तृतीय स्थिति, हम 3 से 3. तो जैसा कि स्थिति शुरू करने Instr समारोह बताने की आवश्यकता वां स्थिति, चरित्र "एक" है 5 वीं स्थिति में। यदि आप इस पैरामीटर को अनदेखा करते हैं, तो डिफ़ॉल्ट मान 1 है।
  • स्ट्रिंग 1: यह वास्तविक स्ट्रिंग है जिसे हम आपूर्ति कर रहे हैं अर्थात, इस पाठ से, हम सबस्ट्रिंग खोजने की कोशिश कर रहे हैं। उदाहरण के लिए, यदि आप "बैंगलोर में " "ए" स्ट्रिंग की तलाश कर रहे हैं, तो बैंगलोर में स्ट्रिंग 1।
  • स्ट्रिंग 2: यह कुछ भी नहीं है लेकिन हम जो स्ट्रिंग खोज रहे हैं वह क्या है। उदाहरण के लिए, यदि आप “बैंगलोर में स्ट्रिंग ” की तलाश कर रहे हैं, तो स्ट्रिंग 2 एक है
  • (तुलना): यह फिर से एक वैकल्पिक तर्क है। (तुलना) तर्क में तीन प्रकार के विकल्प उपलब्ध हैं।
  • vbBinaryCompare: स्ट्रिंग 1 में सबस्ट्रिंग (स्ट्रिंग 2) के मामले में संवेदनशील खोज के अलावा यह कुछ भी नहीं है। उदाहरण के लिए, यदि हम “बैंगलोर” शब्द “बैंगलोर में खोज रहे हैं, तो इंस्ट्र 2 परिणाम के रूप में वापस आ जाएगा, और यदि आप "बैंगलोर" शब्द में "ए" की खोज कर रहे हैं , इंस्ट्र 0 को परिणाम के रूप में लौटाएगा क्योंकि आपूर्ति की गई स्ट्रिंग ऊपरी मामले मूल्य है।

हम तर्क के रूप में शून्य (0) भी डाल सकते हैं।

vbTextCompare: इस स्ट्रिंग 1 में स्ट्रिंग 2 का मामला संवेदनशील खोज उदाहरण के लिए, अगर हम खोज रहे हैं नहीं है "एक" शब्द में "बैंगलोर," Instr 2 वापसी होगी एक परिणाम के रूप, और यदि आप खोज रहे हैं " "बंगलौर" शब्द में A , Instr 2 के रूप में अच्छी तरह से वापस आ जाएगी। लॉजिक ए = ए, बी = बी, सी = सी आदि… है।

हम तर्क के रूप में एक (1) भी रख सकते हैं।

vbDatabaseCompare: इसका उपयोग आपके डेटाबेस यानी Microsoft एक्सेस डेटाबेस से जानकारी की तुलना करने के लिए किया जाता है।

हम तर्क के रूप में एक (-1) भी रख सकते हैं।

VBA इंस्ट्र फंक्शन का उपयोग करने के शीर्ष 5 उदाहरण

उदाहरण 1

पहले उदाहरण से शुरू करते हैं। बैंगलोर शब्द में, चरित्र की स्थिति ज्ञात कीजिए a।

नीचे दिया गया कोड हमारे लिए कार्य करेगा।

कोड:

सब Instr_Example1 () डिम I अ वेरिएंट i = InStr ("बैंगलोर", "a") MsgBox i End Sub

अब F5 कुंजी का उपयोग करके ऊपर दिए गए VBA कोड को चलाएं, या आप इस कोड को मैन्युअल रूप से भी चला सकते हैं, जैसा कि नीचे दिए गए स्क्रीनशॉट में दिखाया गया है।

आउटपुट:

उदाहरण # 2

अब बैंगलोर शब्द में , तीसरी स्थिति से वर्ण "ए" की स्थिति का पता लगाएं ।

नीचे दिया गया कोड हमारे लिए कार्य करेगा।

कोड:

सब Instr_Example2 () डिम I अ वेरिएंट i = InStr (3, "बैंगलोर", "a") MsgBox i End Sub

ऊपर दिए गए कोड को चलाने के लिए, आप F5 कुंजी का उपयोग कर सकते हैं, या आप इस कोड को मैन्युअल रूप से भी चला सकते हैं, जैसा कि नीचे दिए गए स्क्रीनशॉट में दिखाया गया है।

आउटपुट:

Now in the above image, look at the difference from the previous code. Since we have mentioned the starting position of the character as 3, it ignored the first character “a” at the 2nd position.

Example #3

Now we will see case sensitive search. In the word Bangalore, find the letter “A.”

For this, we need to supply the compare argument as vbBinaryCompare.

Code:

Sub Instr_Example3() Dim i As Variant i = InStr(1, "Bangalore", "A", vbBinaryCompare) MsgBox i End Sub

Now run this code using the F5 Key, or you can also run this code manually.

Output:

Since we have supplied the compare argument as vbBinaryCompare Instr function returned the result as zero because there are no uppercase letter “A” exists.

Example #4

Now we will see one more case sensitive search. In the word Bangalore, find the letter “A.” The previous example returned the result as zero.

In order to overcome the case sensitive approach here, we need to supply the compare argument as vbTextCompare.

Code:

Sub Instr_Example4() Dim i As Variant i = InStr(1, "Bangalore", "A", vbTextCompare) MsgBox i End Sub

Now Run, this code using the F5 Key, or you can also run this code manually.

Output:

Example #5

Now we will see the advanced level of Instr function. If you have many sheets that have a more or less similar name and you want to hide all those sheets at once, we can use the below code to hide a specific sheet.

For example, I have 5 sheets named Summary 1, Summary 2, Summary 3, Summary 4, and Data Sheet.

Now I want to hide all those sheets which have the word “Summary.” Use the below code to hide all the sheets which have the word Summary in its name.

Code:

Sub To_Hide_Specific_Sheet() Dim Ws As Worksheet For Each Ws In ActiveWorkbook.Worksheets If InStr(Ws.Name, "Summary")> 0 Then Ws.Visible = xlSheetVeryHidden End If Next Ws 'InStr function looks for word or phrase in the sheet name 'If it finds then it will be hidden End Sub

Now Run, this code using the F5 Key, or you can also run this code manually and see the Output.

Similarly, in order to unhide all those sheets, use the below code.

Code:

Sub To_UnHide_Specific_Sheet() Dim Ws As Worksheet For Each Ws In ActiveWorkbook.Worksheets If InStr(Ws.Name, "Summary")> 0 Then Ws.Visible = xlSheetVisible End If Next Ws 'InStr function looks for word or phrase in the sheet name 'If it finds then it will be hidden End Sub

Now Run, this code using the F5 Key, or you can also run this code manually and see the Output.

Things to Remember

  • Instr is a case sensitive function. In order to eliminate this case sensitive issue, you need to supply the (compare) argument as.
  • If you are searching for case sensitive character, you need to supply the (compare) argument as, by default, VBA takes this as the argument even if you do not supply.
  • Instr एक VBA फ़ंक्शन है, ताकि आप इसे अन्य अंतर्निहित फॉर्मूलों की तरह एक्सेल वर्कशीट में उपयोग न कर सकें।
  • यदि फ़ंक्शन स्ट्रिंग 2 नहीं ढूँढ सकता है, तो परिणाम शून्य होगा।

दिलचस्प लेख...