Split
Split फ़ंक्शन एक स्ट्रिंग को निर्दिष्ट डिलीमीटर पर विभाजित करता है और परिणाम को सरणी के रूप में लौटाता है।
मूल सिंटैक्स
Split(expression, [delimiter], [limit], [compare])
पैरामीटर
| पैरामीटर | विवरण |
|---|---|
| expression | विभाजित करने के लिए स्ट्रिंग |
| delimiter | (वैकल्पिक) विभाजक। डिफ़ॉल्ट स्पेस है |
| limit | (वैकल्पिक) अधिकतम विभाजन संख्या। -1 (डिफ़ॉल्ट) = असीमित |
| compare | (वैकल्पिक) तुलना मोड |
रिटर्न मान
- स्ट्रिंग की सरणी (0-आधारित इंडेक्स)
मूल उदाहरण
स्पेस से विभाजित
Sub BasicSplit()
Dim text As String
Dim words() As String
Dim i As Integer
text = "Hello World VBA"
words = Split(text)
For i = LBound(words) To UBound(words)
Debug.Print words(i)
Next i
End Sub
आउटपुट:
- □ ×
कमांड प्रॉम्प्ट
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
C:\users\user> Hello World VBA
कस्टम डिलीमीटर
Sub SplitWithComma()
Dim text As String
Dim items() As String
Dim i As Integer
text = "सेब,केला,संतरा,आम"
items = Split(text, ",")
For i = LBound(items) To UBound(items)
Debug.Print items(i)
Next i
End Sub
आउटपुट:
- □ ×
कमांड प्रॉम्प्ट
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
C:\users\user> सेब केला संतरा आम
विभाजन सीमा निर्दिष्ट करना
Sub SplitWithLimit()
Dim text As String
Dim parts() As String
text = "A-B-C-D-E"
' केवल 3 भागों में विभाजित
parts = Split(text, "-", 3)
Debug.Print parts(0) ' A
Debug.Print parts(1) ' B
Debug.Print parts(2) ' C-D-E (शेष)
End Sub
チェック
limit पैरामीटर तब उपयोगी है जब आप केवल पहले कुछ भागों की आवश्यकता है और शेष को एक टुकड़े के रूप
में रखना चाहते हैं।
व्यावहारिक उदाहरण
CSV डेटा पार्स करना
Sub ParseCSV()
Dim csvLine As String
Dim fields() As String
csvLine = "जॉन,25,इंजीनियर,50000"
fields = Split(csvLine, ",")
Debug.Print "नाम: " & fields(0)
Debug.Print "आयु: " & fields(1)
Debug.Print "पेशा: " & fields(2)
Debug.Print "वेतन: " & fields(3)
End Sub
फ़ाइल पथ से फ़ोल्डर निकालना
Sub ExtractFolders()
Dim path As String
Dim folders() As String
Dim i As Integer
path = "C:\Users\Documents\Reports\2024"
folders = Split(path, "\")
For i = LBound(folders) To UBound(folders)
Debug.Print "स्तर " & i & ": " & folders(i)
Next i
End Sub
आउटपुट:
- □ ×
कमांड प्रॉम्प्ट
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
C:\users\user> स्तर 0: C: स्तर 1: Users स्तर 2: Documents स्तर 3: Reports स्तर 4: 2024
मल्टी-लाइन टेक्स्ट को विभाजित करना
Sub SplitLines()
Dim multiLine As String
Dim lines() As String
Dim i As Integer
multiLine = "पहली पंक्ति" & vbCrLf & "दूसरी पंक्ति" & vbCrLf & "तीसरी पंक्ति"
lines = Split(multiLine, vbCrLf)
For i = LBound(lines) To UBound(lines)
Debug.Print "पंक्ति " & (i + 1) & ": " & lines(i)
Next i
End Sub
तत्वों की संख्या गिनना
Sub CountElements()
Dim text As String
Dim items() As String
Dim count As Integer
text = "A,B,C,D,E"
items = Split(text, ",")
count = UBound(items) - LBound(items) + 1
Debug.Print "तत्वों की संख्या: " & count ' 5
End Sub
Join के साथ संयोजन
Join
VBA में Join फ़ंक्शन का उपयोग करके सरणी के तत्वों को एक स्ट्रिंग में जोड़ना सीखें। डिलीमीटर के साथ टेक्स्ट बनाने के व्या
Sub SplitAndJoin()
Dim original As String
Dim parts() As String
Dim reconstructed As String
original = "one,two,three"
' विभाजित
parts = Split(original, ",")
' अलग डिलीमीटर के साथ पुनर्निर्माण
reconstructed = Join(parts, " - ")
Debug.Print reconstructed ' one - two - three
End Sub
チェック
Split और Join एक साथ उपयोग करने से आप आसानी से डिलीमीटर बदल सकते हैं या टेक्स्ट को पुनर्गठित
कर सकते हैं।
सारांश
Split फ़ंक्शन VBA में टेक्स्ट प्रोसेसिंग के लिए आवश्यक उपकरण है:
| उपयोग | विवरण |
|---|---|
Split(text) | स्पेस से विभाजित |
Split(text, ",") | कॉमा से विभाजित |
Split(text, ",", 3) | अधिकतम 3 भागों में विभाजित |
मुख्य बिंदु:
- रिटर्न सरणी 0-आधारित है
- खाली स्ट्रिंग पर Split एक तत्व वाली सरणी लौटाता है
UBound()से तत्वों की संख्या गिनें- CSV, पथ, और मल्टी-लाइन टेक्स्ट पार्सिंग के लिए उपयोगी
#VBA
#Split
#स्ट्रिंग
#सरणी