VBA InStrRev - Excel VBA InStrRev फ़ंक्शन का उपयोग कैसे करें?

विषय - सूची

एक्सेल VBA INSTRREV

VBA INSTRREV फ़ंक्शन, जैसा कि 'इन स्ट्रिंग रिवर्स' के लिए होता है , स्ट्रिंग के अंत से शुरू होकर (दूसरे से बाएं) में खोज स्ट्रिंग (सबस्ट्रिंग) की पहली घटना की स्थिति देता है, जिसमें से हम देख रहे हैं एक खोजा स्ट्रिंग।

INSTRREV फ़ंक्शन स्ट्रिंग के अंत से खोजे जाने वाले स्ट्रिंग की खोज करना शुरू कर देता है, जिसमें हमें पता लगाने की आवश्यकता होती है, लेकिन शुरुआत से स्थिति को गिना जाता है। एक और INSTR VBA फंक्शन है ( 'स्ट्रिंग में' के लिए खड़ा है ) जो एक स्ट्रिंग को दूसरे स्ट्रिंग में भी खोजता है और स्थिति को लौटाता है, लेकिन यह फ़ंक्शन स्ट्रिंग की शुरुआत से खोज शुरू करता है जिसमें से हम खोजा स्ट्रिंग की तलाश करते हैं।

INSTRREV और INSTR , दोनों MS Excel के स्ट्रिंग / टेक्स्ट VBA फ़ंक्शन में अंतर्निहित हैं । Microsoft Visual Basic Editor में कोई भी मैक्रो लिखते समय हम उनका उपयोग कर सकते हैं।

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

जैसा कि हम ऊपर की छवि में देख सकते हैं, 2 अनिवार्य और 2 वैकल्पिक तर्क हैं।

  • StringCheck As String: यह आवश्यक तर्क है। हमें खोजे जा रहे स्ट्रिंग अभिव्यक्ति देने की आवश्यकता है।
  • StringMatch As String: इस तर्क की भी आवश्यकता है। हमें उस स्ट्रिंग अभिव्यक्ति को निर्दिष्ट करने की आवश्यकता है जिसे खोजा जा रहा है।
  • स्टार्ट लॉन्ग = -1: यह एक वैकल्पिक तर्क है। हम संख्यात्मक अभिव्यक्ति निर्दिष्ट करते हैं। डिफ़ॉल्ट रूप से, यह -1 लेता है, जिसका अर्थ है कि खोज अंतिम वर्ण स्थिति में शुरू होती है। यदि हम 80 जैसे किसी भी सकारात्मक मूल्य को निर्दिष्ट करते हैं, तो यह बाएं के उन 80 वर्णों में स्ट्रिंग के अंत से खोजना शुरू कर देता है।
  • जब तक VbCompareMethod = vbBinaryCompare रूप में तुलना करें: यह तर्क वैकल्पिक है।

हम इस तर्क के लिए निम्नलिखित मान निर्दिष्ट कर सकते हैं।

वापसी मान

  1. INSTRREV समारोह रिटर्न 0 यदि स्ट्रिंग की जांच शून्य लम्बाई या की है स्ट्रिंग मैच नहीं मिला या है 'आरंभ' का तर्क> लंबाई स्ट्रिंग मैच
  2. इस समारोह रिटर्न 'अशक्त' अगर एक स्ट्रिंग की जांच या स्ट्रिंग मैच है 'अशक्त।'
  3. यदि स्ट्रिंग मैच शून्य लंबाई का है, तो फ़ंक्शन शुरू होने के लिए वापस आ जाता है ।
  4. यदि एक स्ट्रिंग मैच एक स्ट्रिंग चेक के भीतर पाया जाता है , तो फ़ंक्शन उस स्थिति को वापस करता है जिस पर मैच पाया जाता है।

VBA INSTRREV फ़ंक्शन का उपयोग कैसे करें?

मान लीजिए कि हमारे पास फिल्म के नाम और उनके निर्देशकों के लिए डेटा है। हम निर्देशक नामों को विभाजित करना चाहते हैं।

हमारे पास 1201 पंक्तियों में डेटा है। यदि हम इस कार्य को मैन्युअल रूप से करते हैं, तो इसमें बहुत समय लगने वाला है।

ऐसा करने के लिए, हम VBA कोड का उपयोग करेंगे। चरण हैं:

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

यह कोड पहले सेल B1 का चयन करेगा और फिर उसी कॉलम में अंतिम उपयोग किए गए सेल का चयन करेगा, और फिर हम सेल की पंक्ति संख्या को 'LastRow' वेरिएबल में असाइन करते हैं।

  • अब बी कॉलम में सभी कोशिकाओं में हेरफेर करने के लिए, हम एक 'फॉर' लूप चलाएंगे ।
  • हम उन्हें हेरफेर करने के लिए पंक्ति 2 से पंक्ति 1201 के बी कॉलम के मानों को एक-एक करके 1201 में स्टोर करेंगे।
  • हमें वेरिएबल 'कॉलम' का मान 3 पर सेट करना होगा क्योंकि हमें C (3 rd कॉलम) में विभाजन के नाम और उसके बाद एक कॉलम लिखना होगा ।
  • यदि स्ट्रिंग केवल एक शब्द है जिसका अर्थ है कि स्ट्रिंग में कोई स्थान नहीं है, तो हम स्ट्रिंग को आउटपुट के रूप में चाहते हैं। इसके लिए, हम 'इफ एंड एल्स स्टेटमेंट' का उपयोग कर एक तारांकन चिह्न (एक या अधिक वर्णों को दर्शाते हुए) को निम्नानुसार निर्दिष्ट करेंगे:
  • यदि स्ट्रिंग में जगह है, तो हम स्ट्रिंग को विभाजित करना चाहते हैं। ऐसा करने के लिए, हमने क्रमशः पहले स्थान की स्थिति और अंतिम स्थान की स्थिति जानने के लिए INSTR और INSTRREV फ़ंक्शन का उपयोग किया है। यह हमें क्रमशः स्ट्रिंग में पहला शब्द और अंतिम शब्द खोजने में मदद करेगा।

INSTR फ़ंक्शन निम्न के रूप में तर्क लेता है:

Argument Details

  • Start: From which position to start.
  • String1: We need to give string expression being searched.
  • String2: We need to specify string expression being searched for.

Compared as VbCompareMethod: Specifying Comparing method. By default, it is binary compare.

  • We need to use the VBA LEFT function to extract left characters from the string. We have used ‘Last Space-1’ to get the left characters before the last space.

We need to use the RIGHT and LEN functions to extract the right characters from the string after the first space.

Macro is written. Now we just need to run the macro using the F5 key.

Code:

सब स्प्लिटिंगनेम () डिम s स्ट्रिंगिंग डिम फर्स्टस्पेस लॉन्ग डिम लास्टस्पेस के रूप में लॉन्ग डिम लास्ट रॉव लॉन्ग डिम कॉलम 1 लॉन्ग शीट 1।रेंज ("बी 1") पंक्ति के लिए पंक्ति = 2 से लेकर लास्ट राउर s = Sheet1.Cells (पंक्ति, 2) .Value कॉलम = 3 यदि पसंद है "* *" तो फ़र्स्टस्पेस = InStr (1, s, "") LastSPace =StrRev (s, ")" Sheet1.Cells (पंक्ति, कॉलम) .Value = बायाँ (s, लास्टस्पेस) - 1) Sheet1.Cells (पंक्ति, स्तंभ + 1) .Value = अधिकार (s, लेन (s) - फ़र्स्टस्पेस Else Sheet1.Cells (पंक्ति) कॉलम) .वैल्यू = एस एंड अगर अगला एंड सब

अभी हमारे पास एक परिणाम है।

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