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 #सरणी #डेटा संरचना