एक्सेल VBA स्प्लिट स्ट्रिंग ऐरे में
एक स्ट्रिंग एक वर्णों का एक संग्रह है जो एक साथ मिलाया जाता है, जब इन वर्णों को विभाजित किया जाता है और एक चर में संग्रहीत किया जाता है, तो वह चर इन वर्णों के लिए एक सरणी बन जाता है और जिस विधि का उपयोग हम एक स्ट्रिंग में विभाजित करने के लिए करते हैं वह है SPLIT फ़ंक्शन का उपयोग करके vba जो स्ट्रिंग को एक आयामी स्ट्रिंग में विभाजित करता है।
VBA में भी वर्कशीट की तरह, हमारे पास स्ट्रिंग या पाठ मूल्यों से निपटने के लिए कार्य हैं। हम स्ट्रिंग संचालन से बहुत परिचित हैं जैसे कि एफआईआर नाम, अंतिम नाम, मध्य नाम, आदि को निकालना लेकिन वीबीए में सरणियों में स्ट्रिंग मूल्य को विभाजित करने के विचार के बारे में कैसे? जी हाँ, आपने सही सुना कि हम स्ट्रिंग वाक्य को VBA कोडिंग का उपयोग करके ऐरे में विभाजित कर सकते हैं, और इस विशेष लेख में, हम आपको दिखाएंगे कि एक्सेल VBA में स्ट्रिंग को ऐरे में कैसे विभाजित किया जाए।

एक ऐरे में स्प्लिट स्ट्रिंग क्या है?
मुझे पहले यह स्पष्ट करने दें, "स्ट्रिंग इन एरे" कुछ भी नहीं है लेकिन "वाक्य के विभिन्न भागों या स्ट्रिंग को अन्य भागों में विभाजित किया जाएगा।" उदाहरण के लिए, यदि वाक्य "बैंगलोर कर्नाटक की राजधानी है", तो प्रत्येक शब्द एक अलग सरणी है।
तो, इस वाक्य को सरणी में कैसे विभाजित किया जाए, इस लेख का विषय है।
एक्सेल VBA में एक ऐरे में स्प्लिट स्ट्रिंग को कैसे कन्वर्ट करें?
VBA में विभाजित स्ट्रिंग को एक सरणी में बदलने के लिए हमारे पास एक फ़ंक्शन है जिसे "SPLIT" कहा जाता है। यह एक VBA फ़ंक्शन है जो प्रदत्त स्ट्रिंग मूल्य को अलग-अलग भागों में विभाजित किए गए परिसीमन के आधार पर निष्पादित करता है।
उदाहरण के लिए, यदि वाक्य "बैंगलोर कर्नाटक की राजधानी है," प्रत्येक शब्द के बीच का परिसीमन है।
नीचे SPLIT फ़ंक्शन का सिंटैक्स है।

- मूल्य या अभिव्यक्ति: यह स्ट्रिंग या पाठ मान है जिसे हम स्ट्रिंग के प्रत्येक भाग को अलग करके सरणी में बदलने की कोशिश कर रहे हैं।
- (डेलीमिटर): यह और कुछ नहीं बल्कि सामान्य बातें हैं जो प्रत्येक शब्द को स्ट्रिंग में अलग करती हैं। हमारे वाक्य में "बैंगलोर कर्नाटक की राजधानी है" प्रत्येक शब्द अंतरिक्ष वर्ण द्वारा अलग किया गया है, इसलिए हमारा सीमांकक यहाँ स्थान है।
- (सीमा): सीमा और कुछ नहीं बल्कि परिणाम के रूप में हम कितने हिस्से चाहते हैं। उदाहरण के लिए "बैंगलोर कर्नाटक की राजधानी है" हमारे पास सात भाग हैं यदि हमें केवल तीन भागों की आवश्यकता है तो हमें पहला भाग "बैंगलोर" के रूप में मिलेगा, दूसरा भाग "शेष" और तीसरा भाग शेष भाग के रूप में मिलेगा। यह वाक्य "कर्नाटक की राजधानी" है।
- (तुलना करें): यह ९९% समय का उपयोग नहीं किया गया है, तो आइए इस समय पर इसे स्पर्श न करें।
उदाहरण 1
ठीक है, अब व्यावहारिक उदाहरण देखते हैं।
चरण 1: स्ट्रिंग मान को रखने के लिए VBA चर को परिभाषित करें।
कोड:
उप String_To_Array () String End उप के रूप में Dim StringValue

चरण 2: इस चर के लिए स्ट्रिंग प्रदान करें "बैंगलोर कर्नाटक की राजधानी है।"
कोड:
उप String_To_Array () स्ट्रिंग StringValue के रूप में डिम StringValue = "बैंगलोर कर्नाटक की राजधानी है" अंत उप

चरण 3: अगला, एक और चर को परिभाषित करें जो उपरोक्त स्ट्रिंग मान के प्रत्येक भाग को पकड़ सकता है। इस पर हमें यहाँ ध्यान रखने की आवश्यकता है क्योंकि वाक्य में एक से अधिक शब्द हैं, हमें एक से अधिक मान रखने के लिए चर को "एरे" के रूप में परिभाषित करना होगा।
इस मामले में, हमारे पास स्ट्रिंग में 7 शब्द हैं, इसलिए सरणी को निम्नानुसार परिभाषित करें।
कोड:
उप String_To_Array () स्ट्रिंग StringValue के रूप में डिम StringValue = "बैंगलोर कर्नाटक शहर की राजधानी है

अब इस सरणी चर के लिए, हम SPLIT फ़ंक्शन का उपयोग करके Excel VBA में स्ट्रिंग को एक सरणी में विभाजित करेंगे।
कोड:
उप String_To_Array () स्ट्रिंग StringValue के रूप में डिम StringValue = "बैंगलोर कर्नाटक की राजधानी शहर है" Dim SingleValue () स्ट्रिंग सिंगलवैल्यू के रूप में = भाजित (StringValue, "")

अभिव्यक्ति हमारा स्ट्रिंग मान है, चर पहले से ही स्ट्रिंग मान रखता है इसलिए केवल चर नाम दर्ज करें।

इस स्ट्रिंग में सीमांकक अंतरिक्ष वर्ण है इसलिए उसी की आपूर्ति करें।
कोड:
उप String_To_Array () स्ट्रिंग StringValue के रूप में डिम StringValue = "बैंगलोर कर्नाटक की राजधानी शहर है" Dim SingleValue () स्ट्रिंग सिंगलवैल्यू के रूप में = भाजित (StringValue, "")
अभी तक, SPLIT फ़ंक्शन के अन्य भागों को छोड़ दें।
SPLIT फ़ंक्शन स्ट्रिंग मान को 7 टुकड़ों में विभाजित करता है, प्रत्येक शब्द को अंतरिक्ष वर्ण की कीमत पर अलग किया गया है। चूंकि हमने चर "सिंगलवैल्यू" को सरणी के रूप में घोषित किया है , इसलिए हम इस चर के सभी 7 मानों को असाइन कर सकते हैं।
हम निम्नानुसार कोड लिख सकते हैं।
कोड:
Sub String_To_Array() Dim StringValue As String StringValue = "Bangalore is the capital city of Karnataka" Dim SingleValue() As String SingleValue = Split(StringValue, " ") MsgBox SingleValue(0) End Sub
Run the code and see what we get in the message box.

As of now, we can see the first word i.e. “Bangalore,” to show further words we can write the code as follows.
Code:
Sub String_To_Array() Dim StringValue As String StringValue = "Bangalore is the capital city of Karnataka" Dim SingleValue() As String SingleValue = Split(StringValue, " ") MsgBox SingleValue(0) & vbNewLine & SingleValue(1) & vbNewLine & SingleValue(2) & vbNewLine & SingleValue(3) & _vbNewLine & SingleValue(4) & vbNewLine & SingleValue(5) & vbNewLine & SingleValue(6) End Sub
Now run the code and see what we get in the message box.

Each and every word has been split into arrays.
Example #2
Now imagine a situation of storing these values to cells i.e., each word into a separate cell. For this, we need to include the FOR NEXT loop in VBA.
The below code will insert each word into separate cells.
Sub String_To_Array1() Dim StringValue As String StringValue = "Bangalore is the capital city of Karnataka" Dim SingleValue() As String SingleValue = Split(StringValue, " ") Dim k As Integer For k = 1 To 7 Cells(1, k).Value = SingleValue(k - 1) Next k End Sub
This will insert each word, as shown in the below image.

Things to Remember
- Array and loops are used together to make the code dynamic.
- The SPLIT function requires common delimiter, which separates each word in the sentence.
- सरणी की लंबाई शून्य से शुरू होती है, 1 से नहीं।