एक्सेलमा VBA सँग स्ट्रिङ कसरी फेला पार्ने (8 उदाहरणहरू)

  • यो साझा गर्नुहोस्
Hugh West

कार्यान्वयन VBA एक्सेलमा कुनै पनि अपरेशन चलाउनको लागि सबैभन्दा प्रभावकारी, छिटो र सुरक्षित तरिका हो। यस लेखमा, हामी एक्सेलमा VBA प्रयोग गरेर अर्को दिइएको स्ट्रिङमा कसरी निश्चित स्ट्रिङहरू फेला पार्ने भनेर देखाउनेछौं।

अभ्यास टेम्प्लेट डाउनलोड गर्नुहोस्

तपाईं यहाँबाट नि:शुल्क अभ्यास एक्सेल टेम्प्लेट डाउनलोड गर्न सक्नुहुन्छ।

VBA String.xlsm

InStr प्रकार्य

माइक्रोसफ्ट एक्सेलसँग दिइएको स्ट्रिङमा विशिष्ट स्ट्रिङहरूको स्थिति पत्ता लगाउन InStr प्रकार्य भनिने अन्तर्निहित प्रकार्य छ।

जेनेरिक सिन्ट्याक्स:

InStr([start], string1, string2, [compare])

यहाँ,

तर्कहरू आवश्यक/ ऐच्छिक 2> परिभाषा
स्टार्ट ऐच्छिक खोजको सुरुवात स्थिति।
  • पूर्वनिर्धारित रूपमा, InStr प्रकार्यले 1 बाट गणना गरेर क्यारेक्टर स्थिति गणना गर्दछ, सुरु स्थितिबाट होइन। त्यसैले, यदि तपाईं चाहनुहुन्छ भने यसलाई खाली छोड्न सक्नुहुन्छ।
स्ट्रिङ१ आवश्यक खोज्नको लागि स्ट्रिङ, प्राथमिक स्ट्रिङ।
स्ट्रिङ2 आवश्यक प्राथमिक स्ट्रिङमा खोज्नको लागि स्ट्रिङ .
तुलना वैकल्पिक InStr प्रकार्य पूर्वनिर्धारित रूपमा केस-संवेदनशील हुन्छ। तर यदि तपाइँ केस असंवेदनशील InStr चलाउन चाहनुहुन्छ भने, तपाइँ निश्चित तुलना गर्न यहाँ तर्क पास गर्न सक्नुहुन्छ। यो तर्क निम्न हुन सक्छमानहरू,
  • vbBinaryCompare -> बाइनरी तुलना प्रदर्शन गर्दछ, मान 0
  • vbTextCompare -> पाठ तुलना प्रदर्शन गर्दछ, फिर्ता मान 1
  • vbDatabaseCompare -> डाटाबेस तुलना प्रदर्शन गर्दछ, फिर्ता मान 2

पूर्वनिर्धारित रूपमा, InStr ले vbBinaryCompare तुलना तर्कको रूपमा लिन्छ।

8 VBA प्रयोग गरी दिइएको स्ट्रिङमा विशिष्ट स्ट्रिङ पोजिसन पत्ता लगाउन सजिलो उदाहरणहरू

प्रयोग गरेर दिइएको स्ट्रिङमा निश्चित स्ट्रिङको स्थिति प्राप्त गर्नका लागि केही सरल उदाहरणहरू हेरौं। 1 स्ट्रिङमा पाठको स्थिति।

  • तपाईँको किबोर्डमा Alt + F11 थिच्नुहोस् वा ट्याबमा जानुहोस् विकासकर्ता -> भिजुअल बेसिक खोल्न भिजुअल बेसिक सम्पादक

  • पप-अप कोड विन्डोमा, मेनु पट्टीबाट , क्लिक गर्नुहोस् घुसाउनुहोस् -> मोड्युल

  • अब कोड विन्डोमा, एउटा VBA Sub भित्र एउटा साधारण InStr प्रोग्राम लेख्नुहोस्। प्रक्रिया (तल हेर्नुहोस्)।
1269

तपाईँको कोड अब चल्नको लागि तयार छ।

  • थिच्नुहोस् F5 तपाईंको किबोर्डमा वा मेनु पट्टीबाट चलाउनुहोस् -> Sub/UserForm चलाउनुहोस्। म्याक्रो चलाउनको लागि सब-मेनु पट्टीमा रहेको सानो प्ले आइकन मा क्लिक गर्नुहोस्।

तपाईंले देख्नुहुनेछ कि पप-अप सन्देश बक्सले तपाईंलाई नम्बर दिनेछतपाईंले जाँच गर्न चाहनुभएको पाठको स्थिति घोषणा गर्दै।

स्पष्टीकरण:

हाम्रो प्राथमिक स्ट्रिङ, “ खुशी छनोट हो ” एउटा २१ अक्षरको वाक्य हो (स्पेस सहित) र हामी त्यो स्ट्रिङमा " छनोट " पाठको स्थिति फेला पार्न चाहन्छौं। पाठ " छनौट " प्राथमिक स्ट्रिङको 16 औं स्थानबाट सुरु भयो, त्यसैले हामीले सन्देश बक्समा हाम्रो आउटपुटको रूपमा नम्बर 16 पायौं।

2। VBA स्ट्रिङमा एक विशिष्ट स्थानबाट पाठ फेला पार्नको लागि

अब हामी निश्चित संख्याबाट स्थिति प्राप्त गर्न चाहन्छौं भने के हुन्छ भनेर पत्ता लगाउनुहोस्।

  • जस्तै पहिले, विकासकर्ता ट्याबबाट भिजुअल बेसिक सम्पादक खोल्नुहोस् र कोड विन्डोमा घुसाउनुहोस् मोड्युल
  • मा कोड सञ्झ्यालमा, माथि देखाइएको एउटा साधारण InStr प्रोग्राम लेख्नुहोस् र तपाईले आफ्नो पाठ गणना गर्न चाहनु भएको स्थिति अनुसार स्टार्ट आर्गुमेन्टमा मान पास गर्नुहोस्।
8254

  • अर्को, रन कोड।

तपाईंले देख्नुहुनेछ कि पप-अप सन्देश बक्स हुनेछ। तपाईलाई एउटा नम्बर दिनुहोस् पाठको स्थिति घोषणा गर्दै कुनै निश्चित स्थितिबाट सुरु गरेर जुन तपाईंले जाँच गर्न चाहनु भएको थियो।

स्पष्टीकरण:

हामीलाई पहिले नै थाहा थियो (चरण १ छलफलबाट) कि पाठ " छनौट " 16 को स्थितिबाट सुरु भयो, त्यसैले हामीले दुईवटा सम्मिलित गर्यौं। प्राथमिक स्ट्रिङमा विकल्प ” र 17 लाई हाम्रो रूपमा सेट गर्नुहोस्पहिलो " विकल्प " छोड्नको लागि पहिलो प्यारामिटर। त्यसोभए, हामीले रन माथिको म्याक्रो र यसले हामीलाई स्थिति नम्बर 27 देखाउँछ जुन ठ्याक्कै सेकेन्ड " विकल्प " को स्थिति नम्बर हो। दिइएको स्ट्रिङमा।

3। VBA स्ट्रिङमा केस-संवेदनशील InStr प्रकार्यको साथ पाठ खोज्नको लागि

InStr प्रकार्यको परिचयबाट तपाइँलाई पहिले नै थाहा छ कि पूर्वनिर्धारित रूपमा, InStr प्रकार्य। केस सेन्सेटिभ छ। यसलाई एउटा उदाहरणको साथ पत्ता लगाउनुहोस्।

निम्न VBA कोड हेर्नुहोस्, जहाँ हामीले शब्दको स्थिति पत्ता लगाउन चाहन्थ्यौँ “ छनोट " क्यापिटल "C" स्ट्रिङमा " Happiness is a choice " जहाँ छनोट सानो "c" सँग लेखिएको छ।

  • रन कोड र 0 हाम्रो आउटपुटको रूपमा फेला पार्नुहोस्।

त्यो हो किनभने InStr प्रकार्यले capital “C” small “c” लाई फरक तरिकाले व्यवहार गर्छ। त्यसैले यसले स्ट्रिङमा “ छनौट ” शब्द खोज्यो र कुनै पनि मिलाउन सकेन, त्यसैले 0 फर्कियो।

    <17 InStr प्रकार्य केस-संवेदनशील बनाउनको लागि, तुलना तर्कलाई vbTextCompare मा सेट गर्नुहोस् (तल हेर्नुहोस्)।
6424

  • कोड चलाउनुहोस्।

तपाईंले पाठको स्थिति पाउनुहुनेछ स्ट्रिङबाट, चाहे पाठ क्यापिटल अक्षरमा वा सानो अक्षरमा लेखिएको होस्

४. स्ट्रिङको दायाँबाट पाठ फेला पार्न VBA

अहिलेसम्म InStr प्रकार्यले हामीलाई स्ट्रिङको बायाँ तर्फबाट स्थिति मात्र दिइरहेको थियो। तर के हुन्छ यदि तपाइँ स्ट्रिङको दायाँ छेउबाट पाठ स्थिति फेला पार्न चाहनुहुन्छ भने।

InStrRev प्रकार्य दायाँबाट खोज्छ। InStrRev प्रकार्यले InStr प्रकार्यसँग समान रूपमा काम गर्दछ र यसले तपाईँलाई स्ट्रिङको दायाँ तर्फ बाट पाठको स्थिति फेला पार्नेछ।

भिन्नता बुझ्न निम्न उदाहरणहरू हेर्नुहोस्।

  • यदि हामीले निम्न कोडलाई InStr प्रकार्यसँग चलाउँछौँ भने,

यसले हामीलाई पहिलो पाठ " छनोट " को स्थिति ( 16 ) दिन्छ।

  • तर यदि हामीले InStrRev प्रकार्यको साथ एउटै कोड चलायौं भने,

यसले हामीलाई स्थिति दिन्छ। ( 27 ) अन्तिम पाठ “ छनोट ”।

समान पाठहरू:

  • Excel मा VBA प्रयोग गरेर अर्को फेला पार्नुहोस् (2 उदाहरणहरू)
  • VBA प्रयोग गरेर कसरी फेला पार्ने र प्रतिस्थापन गर्ने (11 तरिकाहरू)
  • एक्सेलमा VBA प्रयोग गरेर सटीक मिलान खोज्नुहोस् (५ तरिका)

5। VBA स्ट्रिङमा क्यारेक्टरको पोजिशन फेला पार्न

तपाईँले पाठ फेला पारेको तरिकाले स्ट्रिङमा कुनै निश्चित क्यारेक्टरको स्थिति पनि फेला पार्न सक्नुहुन्छ।

  • प्रतिलिपि गर्नुहोस्। तपाईंको VBA कोड विन्डो
9669

  • रन म्याक्रोमा निम्न कोड।

हाम्रो दिइएको स्ट्रिङमा पहिलो " e " मा छनम्बर 7 स्थिति।

6। स्ट्रिङमा सबस्ट्रिङ फेला पार्न VBA

यहाँ हामीले स्ट्रिङमा सबस्ट्रिङ समावेश छ वा छैन भनेर कसरी पत्ता लगाउने भन्ने कुरा सिक्ने छौँ।

त्यो प्राप्त गर्न हामीसँग छ। हाम्रो कोडमा IF स्टेटमेन्ट चलाउन।

  • पहिले जस्तै, विकासकर्ता ट्याबबाट भिजुअल बेसिक सम्पादक खोल्नुहोस् र कोड विन्डोमा घुसाउनुहोस् एउटा मोड्युल
  • कोड विन्डोमा, निम्न कोड प्रतिलिपि गरेर टाँस्नुहोस्।
7971

तपाईंको कोड अब चल्नको लागि तयार छ।

  • चलाउनुहोस् म्याक्रो।

यदि तपाईँको स्ट्रिङमा सबस्ट्रिङ समावेश छ तब तपाईँले मिलान फेला परेको पाउनुहुनेछ, अन्यथा, यसले कुनै मिल्दो फेला परेन। हाम्रो उदाहरणमा, हामीले हाम्रो प्राथमिक स्ट्रिङ " खुशी भनेको छनोट हो " मा " छनोट " शब्द समावेश छ वा छैन भनी पत्ता लगाउन चाहन्थ्यौँ। होइन। जसरी यसले गर्छ, हामीले मिलान भेटियो परिणाम पाउँछौं।

7। सेल दायरामा स्ट्रिङ फेला पार्न VBA

तपाईले स्ट्रिङको सेल दायरामा कुनै निश्चित पाठ खोज्न सक्नुहुन्छ र निश्चित स्ट्रिङ फर्काउन सक्नुहुन्छ।

हामीले निम्न उदाहरणमा हेरौँ " डा. " फेला पार्नुहोस् र जब त्यहाँ मेल खान्छ तब यो " डाक्टर " फर्किनेछ।

  • माथि छलफल गरिएको नतिजा प्राप्त गर्नको लागि तलको कोड छ,
6264

  • रन द कोड र परिणाम तल देखाइएको छ

  • तपाईले आफ्नो आवश्यकता अनुसार म्याक्रो परिमार्जन गर्न सक्नुहुन्छ। उदाहरणका लागि, यदि तपाईं चाहनुहुन्छ भनेस्ट्रिङको कुनै पनि कक्षमा “ प्रोफेसर ” फेला पार्न, र फिर्ताको रूपमा “ प्राध्यापक ” प्राप्त गर्नुहोस्, त्यसपछि केवल “<1” पास गर्नुहोस्> प्रा. " मानको रूपमा " डा ।" म्याक्रोको 4 औं लाइनमा र म्याक्रोको 5 औं लाइनमा “ डक्टर ” को सट्टा “ प्रोफेसर ” र परिभाषित गर्नुहोस्। तदनुसार सेल दायरा नम्बर।

8। सेलमा स्ट्रिङ फेला पार्न VBA

तपाईँ स्ट्रिङको एउटै सेलमा निश्चित पाठ खोज्न र निश्चित स्ट्रिङ फर्काउन पनि सक्नुहुन्छ।

  • निम्न कोड प्रतिलिपि गर्नुहोस् र कोड विन्डोमा टाँस्नुहोस्।
8523

यसले “ डा. <2 खोज्नेछ।>” सेल B5 मा र यदि यसले मेल खायो भने सेल C5 मा “ डाक्टर ” फर्काउँछ।

  • तपाईले आफ्नो आवश्यकता अनुसार म्याक्रो परिमार्जन गर्न सक्नुहुन्छ। उदाहरणका लागि, यदि तपाइँ स्ट्रिङको कुनै पनि कक्षमा " प्रा. " फेला पार्न चाहनुहुन्छ भने, र फिर्ताको रूपमा " प्राध्यापक " प्राप्त गर्न चाहनुहुन्छ भने, त्यसपछि " Dr " को सट्टा मानको रूपमा " प्रा. " लाई पास गर्नुहोस्। म्याक्रोको दोस्रो लाइनमा र म्याक्रोको तेस्रो लाइनमा “ डाक्टर ” को सट्टा “ प्रोफेसर ” र परिभाषित गर्नुहोस्। तदनुसार सेल सन्दर्भ नम्बर।

निष्कर्ष

यस लेखले तपाइँलाई एक्सेलमा स्ट्रिङमा VBA म्याक्रो प्रयोग गरेर निश्चित पाठहरू कसरी फेला पार्ने भनेर देखाएको छ। मलाई आशा छ यो लेख तपाईलाई धेरै लाभदायक भएको छ। सम्बन्धमा कुनै पनि प्रश्न सोध्न नहिचकिचाउनुहोस्विषय।

Hugh West एक उच्च अनुभवी एक्सेल प्रशिक्षक र उद्योग मा 10 वर्ष भन्दा बढी अनुभव संग विश्लेषक हो। उनले लेखा र वित्तमा स्नातक र व्यवसाय प्रशासनमा स्नातकोत्तर डिग्री हासिल गरेका छन्। Hugh को शिक्षण को लागी एक जोश छ र एक अद्वितीय शिक्षण दृष्टिकोण को विकास गरेको छ जुन पछ्याउन र बुझ्न सजिलो छ। एक्सेलको उनको विशेषज्ञ ज्ञानले विश्वभरका हजारौं विद्यार्थी र पेशेवरहरूलाई उनीहरूको सीप सुधार गर्न र उनीहरूको करियरमा उत्कृष्टता हासिल गर्न मद्दत गरेको छ। आफ्नो ब्लग मार्फत, हगले व्यक्ति र व्यवसायहरूलाई उनीहरूको पूर्ण क्षमतामा पुग्न मद्दत गर्न नि:शुल्क एक्सेल ट्यूटोरियलहरू र अनलाइन प्रशिक्षणहरू प्रदान गर्दै आफ्नो ज्ञान संसारसँग साझा गर्छन्।