All Topics of VBA programming ЁЯСЗ
All subjects of BCA ЁЯСЗ

How to Store Range Data into Array in VBA in Hindi

Buy all subjects pdf notes now [ examSpecial ]

Makhanlal Chaturvedi University / BCA / VBA programming

How to Store Range Data into Array in VBA in Hindi

Introduction

VBA (Visual Basic for Applications) Excel рдореЗрдВ automation рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╣реБрдд рд╣реА рдЙрдкрдпреЛрдЧреА рдЯреВрд▓ рд╣реИред рдЬрдм рднреА рд╣рдо Excel рдореЗрдВ рдХрд┐рд╕реА Range рд╕реЗ Data рдХреЛ рдЬрд▓реНрджреА рдФрд░ efficient рддрд░реАрдХреЗ рд╕реЗ Process рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддрдм рд╣рдо Arrays рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рд╣рдо рд╕реАрдЦреЗрдВрдЧреЗ рдХрд┐ Excel Sheet рдХреЗ рдХрд┐рд╕реА Range рдХреЛ Array рдореЗрдВ рдХреИрд╕реЗ Store рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдлрд┐рд░ рдЙрд╕ Array рдХреЛ Modify рдХреИрд╕реЗ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЕрдВрдд рдореЗрдВ рдЙрд╕реА Array рдХреЗ Data рдХреЛ рд╡рд╛рдкрд╕ Excel Sheet рдореЗрдВ рдХреИрд╕реЗ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ step-by-step рд╕реАрдЦрдирд╛ рд╣рд░ Beginner рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИред

What is an Array in VBA?

Array рдПрдХ рдРрд╕рд╛ variable рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╣рдо рдПрдХ рд╣реА рдирд╛рдо рд╕реЗ multiple values рдХреЛ Store рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпреЗ рдПрдХ рд╣реА Data Type рдХреА multiple values рдХреЛ рдПрдХ рд╕рд╛рде Store рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реНрддреЗрдорд╛рд▓ рд╣реЛрддрд╛ рд╣реИред рдЬреИрд╕реЗ - Students рдХреЗ marks, Products рдХреА prices, рдЖрджрд┐ред

Why Use Array with Range?

  • Speed: Range рдХреЗ рдореБрдХрд╛рдмрд▓реЗ Array рдореЗрдВ рдХрд╛рдо рдХрд░рдирд╛ рдмрд╣реБрдд рддреЗрдЬрд╝ рд╣реЛрддрд╛ рд╣реИред
  • Efficiency: рдПрдХ рдмрд╛рд░ рдореЗрдВ рд╕рд╛рд░рд╛ рдбреЗрдЯрд╛ Array рдореЗрдВ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ Processing рдХреЗ рдмрд╛рдж рдлрд┐рд░ рд╕реЗ Sheet рдореЗрдВ рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВред
  • Memory Usage: рдпрд╣ system resources рдХреЛ efficiently рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

How to Store Range Data into Array in VBA

рдЬрдм рд╣рдореЗрдВ Excel рдХреЗ рдХрд┐рд╕реА Range рдХреЛ VBA рдореЗрдВ Store рдХрд░рдирд╛ рд╣реЛрддрд╛ рд╣реИ, рддрдм рд╣рдо рдЙрд╕реЗ рд╕реАрдзреЗ рдПрдХ Variant Type рдХреЗ variable рдореЗрдВ Assign рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЬрдм рд╣рдо рдХрд┐рд╕реА Range рдХреЛ Assign рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╡рд╣ Default рд░реВрдк рд╕реЗ 2D Array рдмрди рдЬрд╛рддрд╛ рд╣реИред

Sub StoreRangeToArray()
  Dim myArray As Variant
  myArray = Range("A1:C5").Value
  MsgBox myArray(1, 1) 'рдпрд╣ A1 рдХреА Value рджрд┐рдЦрд╛рдПрдЧрд╛
End Sub

Key Points:

  • рдпрд╣рд╛рдБ `myArray` рдПрдХ 2D Array рдмрдирддрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдкрд╣рд▓рд╛ Index 1 рд╣реЛрддрд╛ рд╣реИ, рдирд╛ рдХрд┐ 0ред
  • `Range("A1:C5").Value` рд╕реЗ рдкреВрд░рд╛ Range рдПрдХ рд╕рд╛рде Array рдореЗрдВ рдЖ рдЬрд╛рддрд╛ рд╣реИред
  • Row рдФрд░ Column рджреЛрдиреЛрдВ Index рд╕реЗ Access рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреИрд╕реЗ (row, column)ред

Reading Excel Sheet Data into Array in Hindi

Step by Step Explanation

  • Step 1: рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ Excel Sheet рдореЗрдВ рдХреБрдЫ Sample Data рдмрдирд╛ рд▓реЗрдВред
  • Step 2: VBA Editor (ALT + F11) рдЦреЛрд▓реЗрдВред
  • Step 3: рдПрдХ рдирдпрд╛ Module Insert рдХрд░реЗрдВ рдФрд░ рдиреАрдЪреЗ рджрд┐рдпрд╛ рдЧрдпрд╛ Code рд▓рд┐рдЦреЗрдВред
Sub ReadDataIntoArray()
  Dim dataArr As Variant
  dataArr = Worksheets("Sheet1").Range("B2:D6").Value

  Dim i As Long, j As Long
  For i = 1 To UBound(dataArr, 1)
    For j = 1 To UBound(dataArr, 2)
      Debug.Print dataArr(i, j)
    Next j
  Next i
End Sub

рд╕рдордЭрд╛рдЗрдП:

  • рдпрд╣ Code "Sheet1" рдХреЗ B2 рд╕реЗ D6 рддрдХ рдХреЗ рдбреЗрдЯрд╛ рдХреЛ Array рдореЗрдВ Store рдХрд░рддрд╛ рд╣реИред
  • рдлрд┐рд░ For Loop рдХреА рдорджрдж рд╕реЗ рд╕рднреА Values рдХреЛ Print рдХрд░рддрд╛ рд╣реИред
  • `UBound` Function рд╕реЗ Array рдХреЗ Size рдХреЛ рдкрддрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

Writing Array Data Back to Excel Sheet in Hindi

Step by Step Approach

  • Step 1: рдПрдХ Array рдмрдирд╛рдПрдВ рдпрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд▓рд┐рдП рд╣реБрдП Range рдХреЛ Modify рдХрд░реЗрдВред
  • Step 2: рдлрд┐рд░ рдЙрд╕ Array рдХреЛ рдХрд┐рд╕реА Range рдореЗрдВ Assign рдХрд░реЗрдВред
Sub WriteArrayToSheet()
  Dim myData As Variant
  myData = Range("A2:C6").Value

  'Modify First Value
  myData(1, 1) = "Updated"

  'Write back to new Range
  Range("E2:G6").Value = myData
End Sub

рд╕рдордЭрд╛рдЗрдП:

  • рдпрд╣ Code рдкрд╣рд▓реЗ A2:C6 рд╕реЗ Data рдХреЛ Array рдореЗрдВ рд▓реЗрддрд╛ рд╣реИред
  • Array рдореЗрдВ рдкрд╣рд▓рд╛ Cell Update рдХрд░рддрд╛ рд╣реИред
  • рдлрд┐рд░ рдЙрд╕реЗ рджреВрд╕рд░реА Range (E2:G6) рдореЗрдВ рд╡рд╛рдкрд╕ рд▓рд┐рдЦ рджреЗрддрд╛ рд╣реИред

Best Practices for Handling Range with Array in VBA in Hindi

1. Use Variant Type for Arrays

  • рдЬрдм рднреА рдЖрдк Range рдХреЛ Array рдореЗрдВ Store рдХрд░реЗрдВ, Variant Type рдХрд╛ рд╣реА Use рдХрд░реЗрдВ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ Dynamic рд╣реЛрддрд╛ рд╣реИред

2. Always Use LBound and UBound

  • Array рдХреЗ Size рдХреЛ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдХрднреА рднреА Hard-coded Values рдХрд╛ Use рди рдХрд░реЗрдВред
  • рд╣рдореЗрд╢рд╛ `LBound(array, dimension)` рдФрд░ `UBound(array, dimension)` рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

3. Avoid Writing to Sheet Inside Loop

  • рдЕрдЧрд░ рдЖрдк Data рдХреЛ Process рдХрд░рдХреЗ Excel рдореЗрдВ Write рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдкрд╣рд▓реЗ Array рдореЗрдВ рд╕рд╛рд░рд╛ Data рддреИрдпрд╛рд░ рдХрд░ рд▓реЗрдВ рдФрд░ рдЕрдВрдд рдореЗрдВ рдПрдХ рдмрд╛рд░ рдореЗрдВ Write рдХрд░реЗрдВред

4. Use Application.ScreenUpdating = False

Sub FastProcessing()
  Application.ScreenUpdating = False
  Application.Calculation = xlCalculationManual
  ' рдЖрдкрдХрд╛ рдХреЛрдб рдпрд╣рд╛рдБ рд▓рд┐рдЦреЗрдВ
  Application.ScreenUpdating = True
  Application.Calculation = xlCalculationAutomatic
End Sub

5. Use Error Handling

  • рдХреЛрдИ рднреА Runtime Error рдЖрдиреЗ рдкрд░ Execution рд░реБрдХ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП `On Error Resume Next` рдпрд╛ `On Error GoTo` рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

6. Use Named Ranges for Better Readability

  • Sheet рдореЗрдВ Named Range рдХрд╛ Use рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реЛрддрд╛ рд╣реИ рддрд╛рдХрд┐ Code рдЕрдзрд┐рдХ рдкрдврд╝рдиреЗ рдпреЛрдЧреНрдп рд╣реЛред

7. Always Check if Range is Empty

If WorksheetFunction.CountA(Range("A1:C5")) = 0 Then
  MsgBox "Range is Empty"
End If

8. Avoid Selecting Ranges

  • рдЖрдкрдХрд╛ Code рдЬреНрдпрд╛рджрд╛ рддреЗрдЬ рдФрд░ Professional рддрднреА рдмрдирддрд╛ рд╣реИ рдЬрдм рдЖрдк `.Select` рдпрд╛ `.Activate` рдХрд╛ Use рди рдХрд░реЗрдВред

9. Use 2D Arrays for Range

  • Excel рдХреЗ Cells рд╣рдореЗрд╢рд╛ 2D рд╣реЛрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП 1D Array рд╕реЗ рдмреЗрд╣рддрд░ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдЖрдк 2D Array Use рдХрд░реЗрдВред

10. Array рдореЗрдВ Null рдпрд╛ Empty Values рдХреА рдкрд╣рдЪрд╛рди

If IsEmpty(myArray(i, j)) Then
  MsgBox "Empty Cell Found"
End If

рдЙрдкрд░реЛрдХреНрдд рд╕рднреА Concepts рдХреЛ рд╕рдордЭрдХрд░ рдЖрдк Excel VBA рдореЗрдВ Range рдФрд░ Array рдХреЗ рдмреАрдЪ рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рд╕реЗ рдЖрдкрдХрд╛ Code рддреЗрдЬ, Professional рдФрд░ Maintainable рдмрдирддрд╛ рд╣реИред рдпрд╣ рддрд░реАрдХрд╛ рд╣рд░ Excel VBA рд╕реАрдЦрдиреЗ рд╡рд╛рд▓реЗ Beginner рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реИ рдФрд░ рдЖрдкрдХреЛ Data рдХреЛ Excel рдореЗрдВ Auto Process рдХрд░рдиреЗ рдореЗрдВ рдмрд╣реБрдд Help рдХрд░рддрд╛ рд╣реИред

FAQs

Excel VBA рдореЗрдВ range рдХреЛ array рдореЗрдВ store рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ Variant type variable рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: Dim myArray As Variant : myArray = Range("A1:C5").Valueред рдЗрд╕рд╕реЗ рдкреВрд░реА range рдПрдХ 2D array рдореЗрдВ рдмрджрд▓ рдЬрд╛рддреА рд╣реИ рдЬрд┐рд╕реЗ row-column index рд╕реЗ access рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
Excel sheet рд╕реЗ data рдХреЛ array рдореЗрдВ read рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк worksheet object рдХреЗ рд╕рд╛рде range рдХреЛ variant variable рдореЗрдВ assign рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЬреИрд╕реЗ - dataArr = Worksheets("Sheet1").Range("B2:D6").Valueред рдпрд╣ рдПрдХ 2D array create рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ data store рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
Array рдХреЗ data рдХреЛ Excel sheet рдореЗрдВ рд╡рд╛рдкрд╕ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрд╕реА shape рдХреЗ range рдореЗрдВ array assign рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЬреИрд╕реЗ: Range("E2:G6").Value = myArrayред рдпрд╣ рдкреВрд░рд╛ array рдПрдХ рдмрд╛рд░ рдореЗрдВ Excel рдореЗрдВ paste рдХрд░ рджреЗрдЧрд╛ред
Arrays рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ performance рдХрдИ рдЧреБрдирд╛ рдмреЗрд╣рддрд░ рд╣реЛ рдЬрд╛рддреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ Excel sheet рдХреЛ рдмрд╛рд░-рдмрд╛рд░ access рдХрд░рдирд╛ slow рд╣реЛрддрд╛ рд╣реИред рдЕрдЧрд░ рдЖрдк рдкрд╣рд▓реЗ data рдХреЛ array рдореЗрдВ рд▓реЗ рдЖрддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ processing рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХрд╛ macro рддреЗрдЬ рдЪрд▓рддрд╛ рд╣реИред
рдЖрдк VBA рдореЗрдВ IsEmpty() function рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреЛрдИ cell рдЦрд╛рд▓реА рд╣реИ рдпрд╛ рдирд╣реАрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: If IsEmpty(myArray(i, j)) Then MsgBox "Empty Cell"ред
рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рд╣реИ рдХрд┐ рдкрд╣рд▓реЗ рдкреВрд░реЗ range рдХреЛ рдПрдХ рдмрд╛рд░ рдореЗрдВ array рдореЗрдВ load рдХрд░реЗрдВ, рдлрд┐рд░ рд╕рд╛рд░реЗ calculations/changes array рдореЗрдВ рдХрд░реЗрдВ рдФрд░ рдЕрдВрдд рдореЗрдВ result рдХреЛ рдПрдХ рдмрд╛рд░ рдореЗрдВ рд╡рд╛рдкрд╕ Excel рдореЗрдВ write рдХрд░реЗрдВред рд╕рд╛рде рд╣реА, Application.ScreenUpdating = False рдФрд░ Application.Calculation = xlCalculationManual рдХрд╛ рдЙрдкрдпреЛрдЧ рднреА performance рдХреЗ рд▓рд┐рдП рдЬрд╝рд░реВрд░реА рд╣реЛрддрд╛ рд╣реИред

Please Give Us Feedback