विषयसूची
इस लेख में, मैं आपको दिखाऊंगा कि कैसे आप VBA में एक स्ट्रिंग को एक सरणी में विभाजित कर सकते हैं। स्प्लिट सबसे महत्वपूर्ण और व्यापक रूप से उपयोग किए जाने वाले कार्यों में से एक है जिसका उपयोग हम VBA में करते हैं। आप VBA में हर संभव तरीके से एक स्ट्रिंग को विभाजित करना सीखेंगे।
VBA स्प्लिट फंक्शन (क्विक व्यू)
=Split(Expression As String, [Delimiter], [Limit As Long=1], [CompareAsVbCompareMethod=vbBinaryCompare])
प्रैक्टिस वर्कबुक डाउनलोड करें
स्ट्रिंग को ऐरे.xlsm में विभाजित करें
वीबीए में एक स्ट्रिंग को एक ऐरे में विभाजित करने के 3 तरीके
आइए हमारे हाथ में एक स्ट्रिंग है “हमने यू.एस., कनाडा, ऑस्ट्रेलिया और फ्रांस के वीज़ा के लिए आवेदन किया ।” ।
मैं आपको दिखाऊंगा कि कैसे आप VBA के स्प्लिट फंक्शन का उपयोग करके इस स्ट्रिंग को सभी प्रकार के तरीकों से एक सरणी में विभाजित कर सकते हैं। .
1. VBA
में किसी स्ट्रिंग को ऐरे में विभाजित करने के लिए किसी भी परिसीमक का उपयोग करें VBA में किसी स्ट्रिंग को सरणी में विभाजित करने के लिए आप किसी भी स्ट्रिंग का परिसीमक के रूप में उपयोग कर सकते हैं।
यह एक स्पेस (“”) , एक अल्पविराम (“,”) , एक अर्धविराम (“:”) , एक एकल वर्ण, एक हो सकता है वर्णों की स्ट्रिंग, या कुछ भी।
⧭ उदाहरण 1:
आइए अल्पविराम का उपयोग करके स्ट्रिंग को विभाजित करें सीमांकक।
कोड की पंक्ति होगी:
Arr = Split(Text, ",")
संपूर्ण VBA कोड होगा:
⧭ VBA कोड:
3852
⧭ आउटपुट:
यह स्ट्रिंग को एक सरणी में विभाजित करेगा जिसमें {"हमने यू.एस. के वीजा के लिए आवेदन किया", "कनाडा", "ऑस्ट्रेलिया", "फ़्रांस”}.
⧭ उदाहरण 2:
आप स्पेस (“”) को सीमांकक के रूप में भी उपयोग कर सकते हैं।
कोड की पंक्ति होगी:
Arr = Split(Text, " ")
पूरा VBA कोड होगा:
⧭ VBA कोड:
2242
⧭ आउटपुट:
यह स्ट्रिंग को एक सरणी में विभाजित करेगा जिसमें {“We”, “applied”, “for”, "द", "वीज़ा", "ऑफ़", "यू.एस.", "कनाडा," "ऑस्ट्रेलिया,", "फ्रांस,"}।
<2
⧭ याद रखने योग्य बातें:
- डिफ़ॉल्ट सीमांकक एक स्पेस ("") है।
- अर्थात्, यदि आप कोई सीमांकक नहीं डालते हैं, तो यह परिसीमक के रूप में स्थान का उपयोग करेगा।
अधिक पढ़ें: एक्सेल में वर्ण द्वारा विभाजित स्ट्रिंग (6 उपयुक्त तरीके)
समान रीडिंग:
- पाठ को एकाधिक में विभाजित करें एक्सेल में सेल
- एक्सेल में ऐरे में कॉलम से अद्वितीय मान प्राप्त करने के लिए वीबीए (3 मानदंड)
- एक्सेल वीबीए: एकाधिक के साथ फ़िल्टर कैसे करें ऐरे में मानदंड (7 तरीके)
2. किसी भी संख्या में आइटम के साथ एक स्ट्रिंग को एक ऐरे में विभाजित करें
आप अपनी इच्छा के अनुसार किसी भी संख्या में आइटम के साथ एक स्ट्रिंग को एक सरणी में विभाजित कर सकते हैं।
आइटम की संख्या इस प्रकार डालें विभाजन समारोह का तीसरा तर्क।
⧭ उदाहरण:
आइए विभाजित करें पहले 3 आइटम में स्पेस सीमांकक के रूप में स्ट्रिंग करें।
कोड की पंक्तिहोना:
Arr = Split(Text, " ", 3)
और VBA कोड होगा:
⧭ VBA कोड:
2270
⧭ आउटपुट:
यह स्ट्रिंग को एक में विभाजित करेगा सरणी में पहले 3 आइटम शामिल हैं जो सीमांकक स्पेस द्वारा अलग किए गए हैं।
⧭ याद रखने योग्य बातें:
- डिफ़ॉल्ट तर्क -1 है।
- अर्थात्, यदि आप तर्क दर्ज नहीं करते हैं, तो यह विभाजित हो जाएगा अधिकतम संभव संख्या में स्ट्रिंग। 9> 3. VBA
स्प्लिट फ़ंक्शन आपको केस-संवेदी और दोनों का उपयोग करने की पेशकश करता है। केस-असंवेदी सीमांकक।
असंवेदनशील परिसीमक के लिए, चौथा तर्क 1 के रूप में डालें।
और केस-इनसेंसिटिव डेलीमीटर के लिए, 4 तर्क को 0 के रूप में डालें।
⧭ उदाहरण 1: केस-इनसेंसिटिव डिलिमिटर
दी गई स्ट्रिंग में, टेक्स्ट "FOR" को डिलिमिटर और 2 को डिलिमिटर मानें सरणी के मदों की कुल संख्या।
अब, केस-असंवेदी मामले के लिए, कोड की पंक्ति होगी:
Arr = Split(Text, "FOR ", 3,1)
और पूरा VBA कोड होगा:
⧭ VBA कोड:
8595
⧭ आउटपुट:
चूंकि सीमांकक केस-असंवेदी है, यहां “के लिए ” “के लिए” के रूप में काम करेगा और यह स्ट्रिंग को दो मदों की एक सरणी में विभाजित करेगा।
⧭ उदाहरण 2: केस-सेंसिटिव डिलिमिटर
फिर से, केस-सेंसिटिव केस के लिए, कोड की लाइन होगी:
Arr = Split(Text, "FOR ", 3,0)
और पूरा VBA कोड होगा:
⧭ VBA कोड:
6347
⧭ आउटपुट:
चूँकि परिसीमक यहाँ केस-संवेदी है, “ FOR” “for” के रूप में नहीं होगा और यह स्ट्रिंग को दो मदों की एक सरणी में विभाजित नहीं करेगा।
और पढ़ें: एक्सेल वीबीए: ऐरे से डुप्लीकेट हटाएं (2 उदाहरण)
⧭ याद रखने योग्य बातें: <3
- तर्क का डिफ़ॉल्ट मान 0 है।
- अर्थात्, यदि आप चौथे तर्क का मान नहीं रखते हैं, यह केस-संवेदी मैच के लिए काम करेगा।
निष्कर्ष
इसलिए, इन विधियों का उपयोग करके, आप <1 का उपयोग कर सकते हैं VBA का>स्प्लिट फंक्शन एक स्ट्रिंग को मदों की श्रेणी में विभाजित करने के लिए। क्या आपका कोई प्रश्न है? बेझिझक हमसे पूछें।