Array (सरणी)
Array (सरणी) VBA में डेटा संग्रहीत करने का एक मौलिक तरीका है। यह एक ही वेरिएबल में कई मानों को संग्रहीत करने की अनुमति देता है।
Array की मूल बातें
Array घोषणा
' निश्चित आकार की सरणी
Dim numbers(4) As Integer ' 0 से 4, 5 तत्व
' आकार निर्दिष्ट करके
Dim names(1 To 10) As String ' 1 से 10, 10 तत्व
मान असाइन करना
Sub AssignArrayValues()
Dim fruits(2) As String
fruits(0) = "सेब"
fruits(1) = "केला"
fruits(2) = "संतरा"
Debug.Print fruits(0) ' सेब
Debug.Print fruits(1) ' केला
Debug.Print fruits(2) ' संतरा
End Sub
Array फ़ंक्शन का उपयोग
Sub UseArrayFunction()
Dim colors As Variant
' Array फ़ंक्शन से मान असाइन
colors = Array("लाल", "हरा", "नीला")
Debug.Print colors(0) ' लाल
Debug.Print colors(1) ' हरा
Debug.Print colors(2) ' नीला
End Sub
チェック
Array() फ़ंक्शन का उपयोग करते समय, वेरिएबल Variant प्रकार का होना चाहिए। Array के माध्यम से लूप
For…Next लूप
Sub LoopThroughArray()
Dim numbers(4) As Integer
Dim i As Integer
' मान असाइन
For i = 0 To 4
numbers(i) = i * 10
Next i
' मान प्रदर्शित
For i = LBound(numbers) To UBound(numbers)
Debug.Print numbers(i)
Next i
End Sub
For Each लूप
Sub ForEachLoop()
Dim fruits As Variant
Dim fruit As Variant
fruits = Array("सेब", "केला", "संतरा")
For Each fruit In fruits
Debug.Print fruit
Next fruit
End Sub
チェック
LBound() सरणी की निचली सीमा लौटाता है, और UBound() ऊपरी सीमा लौटाता है। ये फ़ंक्शन सरणी के
आकार को जाने बिना लूप के लिए उपयोगी हैं।
डायनामिक Array
ReDim के साथ आकार बदलना
Sub DynamicArray()
Dim data() As String
Dim i As Integer
' प्रारंभिक आकार
ReDim data(2)
data(0) = "A"
data(1) = "B"
data(2) = "C"
' आकार बढ़ाना (मौजूदा डेटा रखें)
ReDim Preserve data(4)
data(3) = "D"
data(4) = "E"
For i = LBound(data) To UBound(data)
Debug.Print data(i)
Next i
End Sub
チェック
ReDim Preserve का उपयोग करते समय, केवल अंतिम आयाम का आकार बदला जा सकता है। बिना Preserve के
ReDim मौजूदा डेटा मिटा देता है।
बहु-आयामी Array
Sub TwoDimensionalArray()
Dim matrix(2, 2) As Integer
Dim i As Integer, j As Integer
' मान असाइन
matrix(0, 0) = 1: matrix(0, 1) = 2: matrix(0, 2) = 3
matrix(1, 0) = 4: matrix(1, 1) = 5: matrix(1, 2) = 6
matrix(2, 0) = 7: matrix(2, 1) = 8: matrix(2, 2) = 9
' प्रदर्शित
For i = 0 To 2
For j = 0 To 2
Debug.Print "matrix(" & i & "," & j & ") = " & matrix(i, j)
Next j
Next i
End Sub
व्यावहारिक उदाहरण
Excel रेंज से Array में डेटा
Sub RangeToArray()
Dim data As Variant
Dim i As Long, j As Long
' रेंज को सरणी में पढ़ें
data = Range("A1:C10").Value
' प्रोसेस करें
For i = LBound(data, 1) To UBound(data, 1)
For j = LBound(data, 2) To UBound(data, 2)
Debug.Print data(i, j)
Next j
Next i
End Sub
Array से Excel रेंज में लिखना
Sub ArrayToRange()
Dim data(1 To 5, 1 To 3) As Variant
Dim i As Long, j As Long
' डेटा तैयार
For i = 1 To 5
For j = 1 To 3
data(i, j) = "R" & i & "C" & j
Next j
Next i
' एक बार में रेंज में लिखें
Range("A1:C5").Value = data
End Sub
チェック
सेल-बाय-सेल लिखने की तुलना में, सरणी का उपयोग करके एक बार में डेटा लिखना बहुत तेज़ है। सारांश
VBA में Array डेटा को कुशलतापूर्वक संग्रहीत और प्रोसेस करने का एक शक्तिशाली तरीका है:
- निश्चित आकार के लिए
Dim array(size)का उपयोग करें - डायनामिक आकार के लिए
ReDimऔरReDim Preserveका उपयोग करें LBound()औरUBound()सरणी सीमाएं प्राप्त करने के लिए उपयोगी हैं- Excel रेंज के साथ काम करते समय सरणी प्रदर्शन में सुधार करते हैं
इन मूल बातों में महारत हासिल करके, आप अपने VBA कोड को अधिक कुशल बना सकते हैं।
#VBA
#Array
#सरणी
#डेटा संरचना