वीबीए: एकाधिक सीमांकक के आधार पर एक स्ट्रिंग को कैसे विभाजित करें


आप VBA में एकाधिक सीमांकक के आधार पर एक स्ट्रिंग को विभाजित करने के लिए निम्नलिखित मूल वाक्यविन्यास का उपयोग कर सकते हैं:

 SubSplitString ()

    Dim SingleValue() As String
    Dim i As Integer
    Dim j As Integer

    For i = 2 To 7
    newString = Replace(Range(" A " & i), " - ", " ")
    SingleValue = Split(newString, " ")
    
       For j = 1 To 3
           Cells(i, j + 1).Value = SingleValue(j - 1)
       Next j
       
    Next i
    
End Sub

यह विशेष उदाहरण प्रत्येक स्ट्रिंग को प्रत्येक स्ट्रिंग में हाइफ़न या रिक्त स्थान के आधार पर A2:A7 श्रेणी में विभाजित करता है, फिर प्रत्येक स्ट्रिंग के परिणामी तत्वों को कॉलम B, C और D में आसन्न कोशिकाओं को निर्दिष्ट करता है।

ध्यान दें : यह मैक्रो पहले प्रत्येक हाइफ़न को एक स्पेस से बदल देता है, फिर रिक्त स्थान के आधार पर प्रत्येक स्ट्रिंग को विभाजित करता है।

निम्नलिखित उदाहरण दिखाता है कि व्यवहार में इस वाक्यविन्यास का उपयोग कैसे करें।

उदाहरण: VBA में एकाधिक सीमांकक के आधार पर एक स्ट्रिंग को विभाजित करें

मान लीजिए कि हमारे पास एक्सेल में नामों की निम्नलिखित सूची है:

मान लीजिए कि हम प्रत्येक नाम को हाइफ़न या रिक्त स्थान के आधार पर विभाजित करना चाहते हैं, फिर प्रत्येक स्ट्रिंग के परिणामी तत्वों को नई कोशिकाओं में निर्दिष्ट करें।

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

 SubSplitString ()

    Dim SingleValue() As String
    Dim i As Integer
    Dim j As Integer

    For i = 2 To 7
    newString = Replace(Range(" A " & i), " - ", " ")
    SingleValue = Split(newString, " ")
    
       For j = 1 To 3
           Cells(i, j + 1).Value = SingleValue(j - 1)
       Next j
       
    Next i
    
End Sub

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

एकाधिक सीमांकक पर आधारित VBA स्प्लिट स्ट्रिंग

ध्यान दें कि यह मैक्रो रिक्त स्थान और हाइफ़न के आधार पर कॉलम ए में प्रत्येक स्ट्रिंग को विभाजित करता है और कॉलम बी, सी और डी में प्रत्येक स्ट्रिंग के अलग-अलग टेक्स्ट तत्वों को प्रदर्शित करता है।

नोट #1: हम इस उदाहरण में स्ट्रिंग्स को हाइफ़न और रिक्त स्थान के आधार पर विभाजित कर रहे हैं, लेकिन आप स्ट्रिंग्स को रिप्लेस और स्प्लिट फ़ंक्शंस में निर्दिष्ट करके अपने इच्छित किसी भी सीमांकक के आधार पर विभाजित कर सकते हैं।

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

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

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

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

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

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