Introduction to Dynamic Array in VBA in Hindi
Makhanlal Chaturvedi University / BCA / VBA programming
Dynamic Array in VBA Explained with ReDim and Preserve in Hindi
Introduction to Dynamic Array in VBA in Hindi
рдЬрдм рд╣рдо Excel VBA рдореЗрдВ рдХрд┐рд╕реА рдбреЗрдЯрд╛ рдХреЛ рдПрдХ рд╕рд╛рде store рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо Array рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдПрдХ array рдПрдХ рдРрд╕рд╛ container рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХрдИ values рдПрдХ рд╕рд╛рде рд░рдЦреА рдЬрд╛ рд╕рдХрддреА рд╣реИрдВред рд▓реЗрдХрд┐рди рдпрджрд┐ рд╣рдореЗрдВ рдпрд╣ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рд╣рдореЗрдВ рдХрд┐рддрдиреЗ values рд░рдЦрдиреЗ рд╣реИрдВ, рддреЛ рд╣рдо Dynamic Array рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред Dynamic Array рд╡рд╣ array рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕рдХреА size (рдЖрдХрд╛рд░) рдХреЛ рд╣рдо рдмрд╛рдж рдореЗрдВ run-time рдХреЗ рджреМрд░рд╛рди рддрдп рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
Fixed Array рдореЗрдВ рд╣рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрддрд╛рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ рдХрд┐ рдХрд┐рддрдиреЗ elements store рдХрд░рдиреЗ рд╣реИрдВ, рдЬреИрд╕реЗ:
Dim numbers(5) As Integer
рд▓реЗрдХрд┐рди рдпрджрд┐ рд╣рдореЗрдВ рдмрд╛рдж рдореЗрдВ decide рдХрд░рдирд╛ рд╣реЛ рдХрд┐ рдХрд┐рддрдиреЗ elements рдЪрд╛рд╣рд┐рдП, рддреЛ рд╣рдореЗрдВ рдЪрд╛рд╣рд┐рдП Dynamic Arrayред рдЗрд╕рдХрд╛ syntax рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
Dim numbers() As Integer
рдКрдкрд░ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ array рдХреА рдХреЛрдИ size рдирд╣реАрдВ рдмрддрд╛рдИ рдЧрдИ рд╣реИред рдпрд╣ рдПрдХ dynamic array рд╣реИ рдФрд░ рдЗрд╕рдХреА size рдХреЛ рд╣рдо рдмрд╛рдж рдореЗрдВ ReDim рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ define рдХрд░реЗрдВрдЧреЗред
Dynamic Array рдХреЗ рд▓рд╛рдн
- рдЬрдм elements рдХреА рд╕рдВрдЦреНрдпрд╛ рдкрд╣рд▓реЗ рд╕реЗ рди рдкрддрд╛ рд╣реЛ
- Memory efficient рд╣реЛрддрд╛ рд╣реИ
- рдЬрд┐рддрдирд╛ data рдЪрд╛рд╣рд┐рдП рдЙрддрдиреА рд╣реА memory allocate рд╣реЛрддреА рд╣реИ
- Data рдмрдврд╝рд╛рдиреЗ рдпрд╛ рдШрдЯрд╛рдиреЗ рдореЗрдВ рд╕реБрд╡рд┐рдзрд╛ рд╣реЛрддреА рд╣реИ
How to Use ReDim Statement with Dynamic Array in Hindi
Dynamic Array рдореЗрдВ data store рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдЙрд╕рдХреА size рдХреЛ ReDim statement рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ specify рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИред ReDim рдХрд╛ рдЕрд░реНрде рд╣реЛрддрд╛ рд╣реИ "Re-Dimension" рдпрд╛рдиреА size рдХреЛ define рдпрд╛ redefine рдХрд░рдирд╛ред
ReDim рдХрд╛ Basic Syntax
ReDim arrayName(size) As DataType
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
Dim marks() As Integer
ReDim marks(4)
рдЕрдм marks рдирд╛рдо рдХреЗ array рдореЗрдВ 5 elements (0 рд╕реЗ 4 рддрдХ) store рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред
ReDim рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣рдо рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрдм рд╣рдореЗрдВ size рдмрджрд▓рдиреА рд╣реЛ:
ReDim marks(9)
рдзреНрдпрд╛рди рджреЗрдВ: рдЬрдм рдЖрдк ReDim рджреЛрдмрд╛рд░рд╛ use рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдкреБрд░рд╛рдирд╛ data рдЦреЛ рдЬрд╛рддрд╛ рд╣реИ, рдпрджрд┐ рдЖрдкрдиреЗ Preserve keyword рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реЛред
ReDim рдХреЛ рдХрдм рдФрд░ рдХреНрдпреЛрдВ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
- рдЬрдм array рдХреА size run-time рдкрд░ decide рд╣реЛ
- рдЬрдм user рд╕реЗ input рд▓реЗрдХрд░ array рдореЗрдВ value рднрд░рдиреА рд╣реЛ
- рдЬрдм data рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ conditions рдХреЗ рд╣рд┐рд╕рд╛рдм рд╕реЗ adjust рдХрд░рдирд╛ рд╣реЛ
Preserving Data in Dynamic Array using ReDim Preserve in Hindi
рдЬрдм рд╣рдо ReDim рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдкреБрд░рд╛рдирд╛ data by default delete рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдЧрд░ рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдкреБрд░рд╛рдирд╛ data рд╕реБрд░рдХреНрд╖рд┐рдд рд░рд╣реЗ, рддреЛ рд╣рдореЗрдВ ReDim Preserve рдХрд╛ use рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
ReDim Preserve рдХрд╛ Syntax
ReDim Preserve arrayName(newSize)
рдЙрджрд╛рд╣рд░рдг:
Dim students() As String
ReDim students(1)
students(0) = "Amit"
students(1) = "Ravi"
ReDim Preserve students(2)
students(2) = "Sonal"
рдКрдкрд░ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдкрд╣рд▓реЗ array рдореЗрдВ рджреЛ students рдереЗ - "Amit" рдФрд░ "Ravi"ред рдЬрдм рд╣рдордиреЗ array рдХреА size рдмрдврд╝рд╛рдХрд░ 3 рдХреА, рддрдм "ReDim Preserve" рдХрд╛ use рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХреЗ students рдХреА рдЬрд╛рдирдХрд╛рд░реА рднреА рд╕реБрд░рдХреНрд╖рд┐рдд рд░рд╣реА рдФрд░ рдирдпрд╛ student "Sonal" рднреА рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ред
ReDim Preserve рдХреА рд╕реАрдорд╛рдПрдВ
- рдЖрдк рд╕рд┐рд░реНрдл last dimension рдХреА size рд╣реА рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ
- рдпрджрд┐ рдЖрдк multi-dimensional array рдореЗрдВ Preserve рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдХреЗрд╡рд▓ final dimension рддрдХ рд╣реА рд╕реАрдорд┐рдд рд╣реИ
Multi-Dimensional Array рдореЗрдВ Preserve рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛:
Dim matrix() As Integer
ReDim matrix(2, 2)
' рдЕрдм рдЗрд╕реЗ ReDim Preserve рд╕реЗ рдмрдврд╝рд╛рдирд╛ рдЪрд╛рд╣реЗрдВ рддреЛ рдХреЗрд╡рд▓ last dimension рд╣реА рдмрдврд╝рд╛ рд╕рдХрддреЗ рд╣реИрдВ
рдЗрд╕рд▓рд┐рдП Preserve рдХреЛ single-dimensional array рдХреЗ рд╕рд╛рде рд╣реА рдЕрдзрд┐рдХрддрд░ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
When to Prefer Dynamic Array Over Fixed Array in Hindi
Dynamic Array рдФрд░ Fixed Array рджреЛрдиреЛрдВ рдХреЗ рдЕрдкрдиреЗ рд▓рд╛рдн рд╣реЛрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдореЗрдВ Dynamic Array рдХреЛ рддрднреА prefer рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрдм рдХреБрдЫ рд╡рд┐рд╢реЗрд╖ рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпрд╛рдБ рд╣реЛрдВред рдиреАрдЪреЗ рдХреБрдЫ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реНрдерд┐рддрд┐рдпрд╛рдБ рджреА рдЧрдИ рд╣реИрдВ рдЬрд╣рд╛рдБ рд╣рдореЗрдВ Dynamic Array рдХреЛ рдЪреБрдирдирд╛ рдЪрд╛рд╣рд┐рдП:
Dynamic Array рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдм рдХрд░реЗрдВ?
- рдЬрдм рдбреЗрдЯрд╛ рдХреА рдорд╛рддреНрд░рд╛ run-time рдореЗрдВ рддрдп рд╣реЛ рд░рд╣реА рд╣реЛ
- рдЬрдм user input рдХреЗ рдЖрдзрд╛рд░ рдкрд░ array size рддрдп рдХрд░рдиреА рд╣реЛ
- рдЬрдм memory рдХреЛ efficient рддрд░реАрдХреЗ рд╕реЗ use рдХрд░рдирд╛ рд╣реЛ
- рдЬрдм рд╣рдореЗрдВ values рдХреЛ update рдпрд╛ resize рдХрд░рдирд╛ рд╣реЛ execution рдХреЗ рджреМрд░рд╛рди
Fixed Array рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдм рдХрд░реЗрдВ?
- рдЬрдм рдбреЗрдЯрд╛ рдХреА рдорд╛рддреНрд░рд╛ рдкрд╣рд▓реЗ рд╕реЗ fix рд╣реЛ
- рдЬрдм performance critical рд╣реЛ рдФрд░ memory рдкрд╣рд▓реЗ рд╕реЗ allocate рдХрд░рдиреА рд╣реЛ
- рдЬрдм рд╣рдо nested loops рдореЗрдВ index рдХреЛ control рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реЛрдВ
рдПрдХ comparison table рджреЗрдЦреЗрдВ:
Feature | Fixed Array | Dynamic Array |
---|---|---|
Size | рдкрд╣рд▓реЗ рд╕реЗ рддрдп | Run-time рдкрд░ decide рд╣реЛрддреА рд╣реИ |
Memory Use | рдЬреНрдпрд╛рджрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ | Memory efficient |
Flexible | рдирд╣реАрдВ | рд╣рд╛рдБ |
Code Complexity | рдХрдо | рдереЛрдбрд╝реА рдЕрдзрд┐рдХ |
Practice рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ Example:
Sub DynamicArrayExample()
Dim scores() As Integer
Dim i As Integer
'User рд╕реЗ рдХрд┐рддрдиреЗ students рдХреЗ marks рд▓реЗрдиреЗ рд╣реИрдВ
Dim count As Integer
count = InputBox("рдХрд┐рддрдиреЗ students рдХреЗ marks рджрд░реНрдЬ рдХрд░рдиреЗ рд╣реИрдВ?")
ReDim scores(count - 1)
For i = 0 To count - 1
scores(i) = InputBox("Student " & (i + 1) & " рдХрд╛ marks рджрд░реНрдЬ рдХрд░реЗрдВ:")
Next i
'Output
For i = 0 To count - 1
MsgBox "Student " & (i + 1) & " рдХреЗ marks рд╣реИрдВ: " & scores(i)
Next i
End Sub
рдЗрд╕ example рд╕реЗ рдПрдХ beginner рдЖрд╕рд╛рдиреА рд╕реЗ рд╕рдордЭ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреИрд╕реЗ dynamic array рдХреЛ use рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЙрд╕рдореЗрдВ values рдбрд╛рд▓реА рдЬрд╛рддреА рд╣реИрдВред
Dynamic Array рдПрдХ рдмрд╣реБрдд рд╣реА useful concept рд╣реИ VBA рдореЗрдВ, рдЦрд╛рд╕рдХрд░ рдЬрдм рдбреЗрдЯрд╛ рдХреА рдорд╛рддреНрд░рд╛ рдФрд░ size run-time рдкрд░ decide рд╣реЛ рд░рд╣реА рд╣реЛред ReDim рдФрд░ ReDim Preserve рдХреА рдорджрдж рд╕реЗ рд╣рдо array рдХреА size рдХреЛ manage рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЬрд░реВрд░рдд рдкрдбрд╝рдиреЗ рдкрд░ рдкреБрд░рд╛рдиреЗ data рдХреЛ рднреА рд╕рдВрднрд╛рд▓ рдХрд░ рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВред
FAQs
Dim arr() As DataType
рдЙрджрд╛рд╣рд░рдг:
Dim numbers() As Integer
рдЙрджрд╛рд╣рд░рдг:
ReDim numbers(5)
ReDim Preserve numbers(10)
рдЙрджрд╛рд╣рд░рдг:
ReDim Preserve arr(2, 5)
рдХреА рдЬрдЧрд╣ рдЖрдк рдХреЗрд╡рд▓ last рд╡рд╛рд▓реА dimension (5) рдХреЛ рд╣реА рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред