वीबीए: स्ट्रिंग से अक्षर कैसे हटाएं


आप किसी स्ट्रिंग से वर्ण हटाने के लिए VBA में रिप्लेस() विधि का उपयोग कर सकते हैं।

निम्नलिखित उदाहरण दिखाते हैं कि एक्सेल में स्ट्रिंग्स की निम्नलिखित सूची के साथ व्यवहार में इस पद्धति का उपयोग कैसे किया जाए:

उदाहरण 1: एक स्ट्रिंग (केस सेंसिटिव) में वर्णों की सभी घटनाओं को हटाने के लिए वीबीए का उपयोग करें

मान लीजिए कि हम प्रत्येक स्ट्रिंग से “यह” हटाना चाहते हैं।

ऐसा करने के लिए हम निम्नलिखित मैक्रो बना सकते हैं:

 Sub RemoveChar()
Dim i As Integer

For i = 2 To 8
    Range(" B " & i) = Replace(Range(" A " & i), " this ", "")
Next i
End Sub

जब हम इस मैक्रो को चलाते हैं, तो हमें निम्नलिखित आउटपुट प्राप्त होता है:

कॉलम बी कॉलम ए में प्रत्येक स्ट्रिंग को “इस” की प्रत्येक घटना के साथ प्रदर्शित करता है।

ध्यान दें कि यह मैक्रो केस संवेदी है.

अर्थात्, “यह” की प्रत्येक घटना को हटा दिया जाता है, लेकिन “इस” की प्रत्येक घटना को अकेला छोड़ दिया जाता है।

उदाहरण 2: एक स्ट्रिंग में वर्णों की सभी घटनाओं को हटाने के लिए वीबीए का उपयोग करें (केस असंवेदनशील)

मान लीजिए कि हम प्रत्येक स्ट्रिंग से “यह” (मामले की परवाह किए बिना) हटाना चाहते हैं।

ऐसा करने के लिए हम निम्नलिखित मैक्रो बना सकते हैं:

 SubRemoveChar ()
Dim i As Integer

For i = 2 To 8
    Range(" B " & i) = Replace(LCase(Range(" A " & i)), " this ", "")
Next i
End Sub

जब हम इस मैक्रो को चलाते हैं, तो हमें निम्नलिखित आउटपुट प्राप्त होता है:

कॉलम बी कॉलम ए में प्रत्येक स्ट्रिंग को “इस” की प्रत्येक घटना के साथ प्रदर्शित करता है।

ध्यान दें कि यह प्रतिस्थापन केस संवेदी नहीं है

अर्थात्, “इस” की प्रत्येक घटना (चाहे बड़े अक्षर में हो या नहीं) हटा दी जाती है।

हम प्रत्येक स्ट्रिंग में “यह” खोजने से पहले कॉलम ए में प्रत्येक स्ट्रिंग को लोअरकेस में परिवर्तित करने के लिए LCase विधि का उपयोग करके इसे प्राप्त करने में सक्षम थे।

उदाहरण 3: किसी स्ट्रिंग में वर्ण की पहली N आवृत्ति को हटाने के लिए VBA का उपयोग करें

मान लीजिए कि हम प्रत्येक स्ट्रिंग से केवल “इस” (मामले की परवाह किए बिना) की पहली घटना को हटाना चाहते हैं।

ऐसा करने के लिए हम निम्नलिखित मैक्रो बना सकते हैं:

 SubRemoveChar ()
Dim i As Integer

For i = 2 To 8
    Range(" B " & i) = Replace(LCase(Range(" A " & i)), " this ", "", Count:=1)
Next i
End Sub

जब हम इस मैक्रो को चलाते हैं, तो हमें निम्नलिखित आउटपुट प्राप्त होता है:

कॉलम बी कॉलम ए में प्रत्येक स्ट्रिंग को केवल “इस” की पहली घटना को हटाकर प्रदर्शित करता है।

ध्यान दें कि हमने किसी विशिष्ट स्ट्रिंग की केवल पहली घटना को हटाने के लिए गणना: = 1 का उपयोग किया था, लेकिन आप किसी विशिष्ट स्ट्रिंग की पहली एन घटनाओं के स्थान पर 1 को किसी भी मान से बदल सकते हैं जिसे आप हटाना चाहते हैं।

नोट : आप वीबीए रिप्लेस विधि के लिए संपूर्ण दस्तावेज़ यहां पा सकते हैं।

अतिरिक्त संसाधन

निम्नलिखित ट्यूटोरियल बताते हैं कि वीबीए का उपयोग करके अन्य सामान्य कार्य कैसे करें:

वीबीए: एक स्ट्रिंग में वर्णों की घटनाओं की गणना कैसे करें
वीबीए: कैसे जांचें कि एक स्ट्रिंग में दूसरी स्ट्रिंग है या नहीं
वीबीए: विशिष्ट पाठ वाले कक्षों की गणना कैसे करें

एक टिप्पणी जोड़ने

आपका ईमेल पता प्रकाशित नहीं किया जाएगा. आवश्यक फ़ील्ड चिह्नित हैं *