Most Used Array Functions in VBA Programming in Hindi
Makhanlal Chaturvedi University / BCA / VBA programming
Most Important Array Functions in VBA Programming in Hindi
Most Used Array Functions in VBA Programming in Hindi
What is Array in VBA?
VBA में Array एक ऐसा डेटा स्ट्रक्चर होता है जो एक ही प्रकार के डेटा को एक साथ स्टोर करने की सुविधा देता है। उदाहरण के लिए, अगर हमें 100 students के नाम स्टोर करने हैं, तो हमें 100 अलग-अलग variables बनाने की ज़रूरत नहीं होती, बल्कि एक Array में सभी नाम store किए जा सकते हैं।
Why Array is Important?
- एक साथ multiple values को store करने के लिए।
- Loop के साथ मिलकर काम को automatic करने के लिए।
- Memory का सही उपयोग करने के लिए।
Most Used Array Functions in VBA
नीचे VBA में सबसे ज्यादा उपयोग होने वाले Array functions दिए गए हैं जिन्हें अक्सर programs में यूज़ किया जाता है।
- UBound(ArrayName) – यह function Array की highest index को return करता है।
- LBound(ArrayName) – यह function Array की lowest index को return करता है।
- Split() – यह string को parts में divide कर Array में convert करता है।
- Join() – यह Array की values को जोड़कर एक single string बना देता है।
- Filter() – यह function किसी array में से specific values को filter करने के लिए यूज़ किया जाता है।
- Application.Transpose() – यह 1D array को vertical या horizontal बनाने के लिए helpful होता है।
Example: Using UBound and LBound
Dim names() As String
names = Split("Amit,Ravi,Sumit,Neha", ",")
MsgBox "First Index: " & LBound(names)
MsgBox "Last Index: " & UBound(names)
ऊपर के उदाहरण में हमने string को Split किया और फिर UBound और LBound का प्रयोग करके उसकी index range निकाली।
Using Filter and Join Function with Array in Hindi
Filter Function क्या है?
Filter function का उपयोग किसी array से वही values निकालने के लिए किया जाता है जो किसी विशेष condition को match करती हैं।
Syntax:
Filter(SourceArray, Match, [Include], [Compare])
- SourceArray: वह array जिसमें से data filter करना है।
- Match: वह string जिससे values match करनी हैं।
- Include (Optional): True (default) का मतलब match होने वाली values return होंगी, False का मतलब match नहीं होने वाली values।
- Compare (Optional): Binary या Text comparison।
Example of Filter Function:
Dim names() As String
Dim result() As String
names = Split("Amit,Ankit,Ravi,Neha", ",")
result = Filter(names, "A")
MsgBox Join(result, ", ")
यहां हमने सभी नामों में से 'A' से शुरू होने वाले नामों को filter किया और Join function से एक string बना दी।
Join Function क्या है?
Join function किसी भी array की सभी values को जोड़कर एक single string में convert करता है। यह बहुत useful होता है जब आप array की values को comma-separated या space-separated string में बदलना चाहते हैं।
Syntax:
Join(ArrayName, [Delimiter])
- ArrayName: वह array जिसकी values को जोड़ना है।
- Delimiter: Optional है, default space होता है।
Example of Join Function:
Dim fruits() As String
fruits = Split("Apple,Mango,Banana", ",")
MsgBox Join(fruits, " | ")
यहां हमने fruits array की values को ' | ' से जोड़कर एक string में बदला।
Using Split Function to Create Array from String in Hindi
Split Function क्या है?
Split function एक बहुत ही उपयोगी function है जो किसी भी string को अलग-अलग parts में बांटकर array में बदल देता है। इसे तब यूज़ किया जाता है जब एक string में multiple values हों, जैसे comma-separated values।
Syntax:
Split(expression, [delimiter], [limit], [compare])
- expression: वह string जिसे split करना है।
- delimiter: वह character या symbol जिससे values अलग की जाती हैं, जैसे ",", "|", या " "।
Example of Split Function:
Dim colors() As String
colors = Split("Red,Green,Blue,Yellow", ",")
MsgBox colors(0) 'Output: Red
MsgBox colors(3) 'Output: Yellow
ऊपर के कोड में हमने एक string को चार parts में split किया और उसे colors नाम के array में store कर लिया।
Split Function का Real-life Use
मान लीजिए आपके पास किसी file से आई हुई line है: "101,Ravi,Science,85" अब आप इसको अलग-अलग fields में divide कर सकते हैं:
Dim student() As String
student = Split("101,Ravi,Science,85", ",")
MsgBox "Student Name: " & student(1)
इससे आप नाम, subject, और marks जैसे fields अलग-अलग प्राप्त कर सकते हैं।
Using Application.Transpose with Array in VBA in Hindi
Transpose Function क्या है?
Application.Transpose एक Excel VBA function है जिसका उपयोग किसी 1D array को column में या row में convert करने के लिए किया जाता है। इसका सबसे ज़्यादा उपयोग तब होता है जब हमें array के डेटा को Excel worksheet में row से column या column से row में बदलना हो।
Syntax:
Application.WorksheetFunction.Transpose(Array)
या सीधे:
Application.Transpose(Array)
Example: Row to Column Transpose
Sub TransposeExample()
Dim arr() As Variant
arr = Array("Math", "Science", "English")
Range("A1:A3").Value = Application.Transpose(arr)
End Sub
यह कोड array को Excel के cells A1 से A3 में vertically paste करेगा।
Example: Column to Row Transpose
Sub ColumnToRowTranspose()
Dim colArr(1 To 3, 1 To 1) As Variant
colArr(1, 1) = "One"
colArr(2, 1) = "Two"
colArr(3, 1) = "Three"
Dim rowArr As Variant
rowArr = Application.Transpose(colArr)
Range("B1:D1").Value = rowArr
End Sub
इस उदाहरण में हमने vertical column array को row में बदलकर Excel में B1 से D1 तक insert किया।
Transpose Function कब काम नहीं करता?
- अगर array की length 65536 से ज़्यादा हो तो Transpose काम नहीं करेगा।
- Mixed data types (जैसे string और numbers का mix) होने पर कभी-कभी error आता है।
Transpose के साथ 2D Arrays
अगर आपके पास 2D array है, तो Transpose करने से उसका rows-columns swap हो जाता है। नीचे एक उदाहरण है:
Dim myArr(1 To 2, 1 To 2) As String
myArr(1, 1) = "A"
myArr(1, 2) = "B"
myArr(2, 1) = "C"
myArr(2, 2) = "D"
Range("A1:B2").Value = Application.Transpose(myArr)
यह values को एक अलग orientation में Excel में paste करेगा।