Join

Join फ़ंक्शन एक सरणी के तत्वों को निर्दिष्ट डिलीमीटर के साथ जोड़कर एक स्ट्रिंग बनाता है।

मूल सिंटैक्स

Join(sourcearray, [delimiter])

पैरामीटर

पैरामीटरविवरण
sourcearrayजोड़ने के लिए एक-आयामी सरणी
delimiter(वैकल्पिक) तत्वों के बीच विभाजक। डिफ़ॉल्ट स्पेस है, "" देने पर बिना विभाजक के जुड़ता है

रिटर्न मान

  • जुड़े हुए तत्वों वाली स्ट्रिंग

मूल उदाहरण

स्पेस के साथ जोड़ना

Sub BasicJoin()
    Dim words As Variant
    Dim result As String

    words = Array("Hello", "World", "VBA")
    result = Join(words)

    Debug.Print result  ' Hello World VBA
End Sub

कस्टम डिलीमीटर

Sub JoinWithComma()
    Dim fruits As Variant
    Dim result As String

    fruits = Array("सेब", "केला", "संतरा")
    result = Join(fruits, ", ")

    Debug.Print result  ' सेब, केला, संतरा
End Sub

बिना डिलीमीटर के जोड़ना

Sub JoinWithoutDelimiter()
    Dim letters As Variant
    Dim result As String

    letters = Array("A", "B", "C", "D")
    result = Join(letters, "")

    Debug.Print result  ' ABCD
End Sub

व्यावहारिक उदाहरण

फ़ाइल पथ बनाना

Sub CreateFilePath()
    Dim pathParts As Variant
    Dim fullPath As String

    pathParts = Array("C:", "Users", "Documents", "file.txt")
    fullPath = Join(pathParts, "\")

    Debug.Print fullPath  ' C:\Users\Documents\file.txt
End Sub

SQL IN क्लॉज बनाना

Sub CreateSQLInClause()
    Dim ids As Variant
    Dim sql As String

    ids = Array("101", "102", "103", "104")
    sql = "SELECT * FROM Products WHERE ID IN (" & Join(ids, ",") & ")"

    Debug.Print sql
End Sub

आउटपुट:

- □ ×
कमांड प्रॉम्प्ट आइकन
कमांड प्रॉम्प्ट
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user> SELECT * FROM Products WHERE ID IN (101,102,103,104)
チェック

IN क्लॉज़ में टेक्स्ट ID इस्तेमाल करते समय हर तत्व को सिंगल कोट्स में रखें। उपयोगकर्ता इनपुट को सीधे SQL में जोड़ना SQL इंजेक्शन का कारण बन सकता है, इसलिए प्रोडक्शन में पैरामीटराइज़्ड क्वेरी उपयोग करें।

मल्टी-लाइन टेक्स्ट बनाना

Sub CreateMultiLineText()
    Dim lines As Variant
    Dim paragraph As String

    lines = Array("पहली पंक्ति", "दूसरी पंक्ति", "तीसरी पंक्ति")
    paragraph = Join(lines, vbCrLf)

    Debug.Print paragraph
End Sub

Excel रेंज से CSV बनाना

Sub RangeToCSV()
    Dim data As Variant
    Dim i As Long
    Dim rowData As Variant
    Dim csvLine As String

    data = Range("A1:C3").Value

    For i = LBound(data, 1) To UBound(data, 1)
        ' पंक्ति डेटा को सरणी में कॉपी
        rowData = Application.Index(data, i, 0)
        csvLine = Join(Application.Transpose(Application.Transpose(rowData)), ",")
        Debug.Print csvLine
    Next i
End Sub

Split के साथ संयोजन

Split
VBA में Split फ़ंक्शन का उपयोग करके स्ट्रिंग को सरणी में विभाजित करना सीखें। डिलीमीटर के साथ टेक्स्ट पार्स करने के लिए व
Sub ConvertDelimiter()
    Dim original As String
    Dim parts() As String
    Dim converted As String

    original = "A,B,C,D"

    ' कॉमा से विभाजित
    parts = Split(original, ",")

    ' पाइप के साथ पुनर्निर्माण
    converted = Join(parts, "|")

    Debug.Print converted  ' A|B|C|D
End Sub

डुप्लीकेट हटाना

Sub RemoveDuplicates()
    Dim text As String
    Dim parts() As String
    Dim dict As Object
    Dim item As Variant
    Dim result As String

    text = "सेब,केला,सेब,संतरा,केला"
    parts = Split(text, ",")

    Set dict = CreateObject("Scripting.Dictionary")

    For Each item In parts
        If Not dict.Exists(item) Then
            dict.Add item, item
        End If
    Next item

    result = Join(dict.Keys, ",")
    Debug.Print result  ' सेब,केला,संतरा
End Sub
チェック
Split और Join का संयोजन टेक्स्ट ट्रांसफ़ॉर्मेशन के लिए शक्तिशाली पैटर्न है।

जिन सरणियों को Join स्वीकार नहीं करता

Join केवल एक-आयामी सरणी स्वीकार करता है। निम्न स्थितियों में त्रुटि आती है:

  • द्वि-आयामी सरणी (जैसे Range("A1:C3").Value) देने पर → रन-टाइम त्रुटि 5 (Invalid procedure call or argument)
  • String या Variant के अलावा किसी प्रकार की सरणी (जैसे Long()) देने पर → रन-टाइम त्रुटि 13 (Type mismatch)
  • किसी तत्व के Null होने पर → रन-टाइम त्रुटि 94 (Invalid use of Null)
join_range_row.bas
Sub JoinRangeRow()
    Dim v As Variant
    Dim arr() As Variant
    Dim c As Long

    v = Range("A1:C1").Value
    ReDim arr(0 To UBound(v, 2) - 1)
    For c = 1 To UBound(v, 2)
        arr(c - 1) = v(1, c)
    Next c

    Debug.Print Join(arr, ",")
End Sub
チェック

Excel 2019 या बाद के संस्करण और Microsoft 365 में TEXTJOIN वर्कशीट फ़ंक्शन सेल रेंज को सीधे जोड़ सकता है। VBA से: Application.WorksheetFunction.TextJoin(",", True, Range("A1:C1"))।

सारांश

Join फ़ंक्शन VBA में सरणी से स्ट्रिंग बनाने के लिए सरल और प्रभावी तरीका है:

उपयोगविवरण
Join(array)स्पेस के साथ जोड़ें
Join(array, ",")कॉमा के साथ जोड़ें
Join(array, "")बिना डिलीमीटर के जोड़ें
Join(array, vbCrLf)नई पंक्तियों के साथ जोड़ें

मुख्य बिंदु:

  • Split का उल्टा कार्य करता है
  • फ़ाइल पथ, CSV, SQL क्वेरी बनाने के लिए उपयोगी
  • डिलीमीटर कोई भी स्ट्रिंग हो सकता है
#VBA #Join #स्ट्रिंग #सरणी