What is UBound and LBound in Array in Hindi
Makhanlal Chaturvedi University / BCA / VBA programming
UBound and LBound in Array in Hindi
UBound and LBound in Array in Hindi
Introduction
рдЬрдм рд╣рдо VBA (Visual Basic for Applications) рдореЗрдВ Array рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдпрд╣ рдЬрд╛рдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдХрд┐ рдЙрд╕ Array рдХреА рд╢реБрд░реБрдЖрдд рдФрд░ рдЕрдВрдд рдХрд╣рд╛рдВ рд╣реЛрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП VBA рд╣рдореЗрдВ рджреЛ рдмрд╣реБрдд рд╣реА рдЙрдкрдпреЛрдЧреА Functions рджреЗрддрд╛ рд╣реИ: UBound рдФрд░ LBoundред рдпреЗ рджреЛрдиреЛрдВ Function рд╣рдореЗрдВ рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рджреЗрддреЗ рд╣реИрдВ рдХрд┐ Array рдХреА рд╢реБрд░реБрдЖрдд (Lower Bound) рдФрд░ рд╕рдорд╛рдкреНрддрд┐ (Upper Bound) рдХрд┐рд╕ Index рдкрд░ рд╣реИред
рдЗрд╕ рдкреВрд░реА рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рд╣рдо рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рдФрд░ рд╢рд┐рдХреНрд╖рдХ рдХреА рддрд░рд╣ рднрд╛рд╖рд╛ рдореЗрдВ рд╕рдордЭреЗрдВрдЧреЗ рддрд╛рдХрд┐ рдХреЛрдИ рднреА Beginner рдЖрд╕рд╛рдиреА рд╕реЗ рдЗрд╕реЗ рд╕реАрдЦ рд╕рдХреЗред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рд╣рдо рдЗрди рджреЛрдиреЛрдВ Function рдХрд╛ рдЙрдкрдпреЛрдЧ, рд▓рд╛рдн, рдФрд░ practical examples рдХреЗ рд╕рд╛рде рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдЪрд░реНрдЪрд╛ рдХрд░реЗрдВрдЧреЗред
What is LBound in VBA (LBound рдХрд╛ рдорддрд▓рдм рдХреНрдпрд╛ рд╣реИ?)
- LBound рдХрд╛ рдкреВрд░рд╛ рдирд╛рдо рд╣реИ "Lower Bound"ред
- рдпрд╣ Function рд╣рдореЗрдВ рдпрд╣ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА Array рдХрд╛ рд╕рдмрд╕реЗ рдЫреЛрдЯрд╛ Index рдХреМрди рд╕рд╛ рд╣реИред
- рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, VBA рдореЗрдВ Array рдХреА рд╢реБрд░реБрдЖрдд Index 0 рд╕реЗ рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдХреБрдЫ рдЦрд╛рд╕ settings рдореЗрдВ рдпрд╣ 1 рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
What is UBound in VBA (UBound рдХрд╛ рдорддрд▓рдм рдХреНрдпрд╛ рд╣реИ?)
- UBound рдХрд╛ рдкреВрд░рд╛ рдирд╛рдо рд╣реИ "Upper Bound"ред
- рдпрд╣ Function рд╣рдореЗрдВ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА Array рдХрд╛ рдЖрдЦрд┐рд░реА Index рдХреМрди рд╕рд╛ рд╣реИред
- рдпрд╣ рдЬрд╛рдирдирд╛ рдмрд╣реБрдд рдЬрд░реВрд░реА рд╣реЛрддрд╛ рд╣реИ рдЬрдм рд╣рдо рдХрд┐рд╕реА Array рдкрд░ Loop рд▓рдЧрд╛рддреЗ рд╣реИрдВ рдпрд╛ рдЙрд╕рдХреА Length рдкрддрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
How to Get Array Size using UBound Function in Hindi
Array рдХреА рдХреБрд▓ size (рдпрд╛рдирд┐ рдЙрд╕рдореЗрдВ рдХрд┐рддрдиреЗ elements рд╣реИрдВ) рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдо UBound рдФрд░ LBound рджреЛрдиреЛрдВ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рддреЗ рд╣реИрдВред Size рдирд┐рдХрд╛рд▓рдиреЗ рдХрд╛ formula рдиреАрдЪреЗ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
Dim myArray(2 To 10) As Integer
Dim size As Integer
size = UBound(myArray) - LBound(myArray) + 1
MsgBox "Array рдХрд╛ size рд╣реИ: " & size
- рдпрд╣рд╛рдВ LBound 2 рд╣реЛрдЧрд╛ рдФрд░ UBound 10ред
- рддреЛ size = 10 - 2 + 1 = 9
рдзреНрдпрд╛рди рджреЗрдВ: рдХрдИ рдмрд╛рд░ рд╣рдо рд╕реЛрдЪрддреЗ рд╣реИрдВ рдХрд┐ рд╕рд┐рд░реНрдл UBound
рд╣реА Array рдХрд╛ size рджреЗрдЧрд╛, рд▓реЗрдХрд┐рди рдЕрдЧрд░ LBound 0 рдирд╣реАрдВ рд╣реИ рддреЛ рдпрд╣ рдЧрд▓рдд size рджреЗрдЧрд╛ред рдЗрд╕рд▓рд┐рдП рджреЛрдиреЛрдВ functions рдХрд╛ use рдХрд░рдирд╛ рд╕рд╣реА рддрд░реАрдХрд╛ рд╣реИред
Using LBound and UBound in Loops with Array in Hindi
рдЬрдм рд╣рдо рдХрд┐рд╕реА Array рдкрд░ Loop рдЪрд▓рд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬреИрд╕реЗ For Loop, рддреЛ рд╣рдореЗрдВ рдпрд╣ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ Loop рдХрд╣рд╛рдВ рд╕реЗ рд╢реБрд░реВ рдФрд░ рдХрд╣рд╛рдВ рддрдХ рдЬрд╛рдирд╛ рд╣реИред рдРрд╕реЗ рдореЗрдВ LBound
рдФрд░ UBound
рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдмрд╣реБрдд рдХрд╛рдо рдЖрддреЗ рд╣реИрдВред
Dim students(1 To 5) As String
students(1) = "Amit"
students(2) = "Neha"
students(3) = "Ravi"
students(4) = "Sita"
students(5) = "Manoj"
Dim i As Integer
For i = LBound(students) To UBound(students)
MsgBox students(i)
Next i
- рдпрд╣ Code students рдирд╛рдо рдХреЗ Array рдХреЛ рдкрдврд╝рддрд╛ рд╣реИ рдФрд░ рд╕рднреА рдирд╛рдореЛрдВ рдХреЛ Message Box рдореЗрдВ рджрд┐рдЦрд╛рддрд╛ рд╣реИред
- рдпрд╣ loop рдЕрдкрдиреЗ рдЖрдк рд╕рд╣реА Index рд╕реЗ рдЪрд▓рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣рдордиреЗ
LBound
рдФрд░UBound
рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рд╣реИред
Why LBound and UBound are Beginner-Friendly in VBA
- рдпреЗ рджреЛрдиреЛрдВ Functions рд╣рдореЗрдВ Array рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреВрд░рд╛ control рджреЗрддреЗ рд╣реИрдВред
- рдЕрдЧрд░ рд╣рдо future рдореЗрдВ Array рдХреА size рдХреЛ dynamic рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рд╣рд░ рдмрд╛рд░ loop рдХреЛ manually update рдирд╣реАрдВ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ред
- Loop logic рдХреЛ automate рдХрд░рдиреЗ рдореЗрдВ рдпреЗ functions рдмрд╣реБрдд рдорджрдж рдХрд░рддреЗ рд╣реИрдВред
- Program рдХреЛ error-free рдФрд░ flexible рдмрдирд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреЗ рд╣реИрдВред
Benefits of UBound for Dynamic Code in VBA in Hindi
рдЬрдм рдЖрдк dynamic Array рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ size run-time рдкрд░ рдмрджрд▓рддрд╛ рд╣реИ, рддреЛ UBound function рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
- Dynamic Array рдРрд╕рд╛ Array рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕рдХреА size рдкрд╣рд▓реЗ рд╕реЗ fix рдирд╣реАрдВ рд╣реЛрддреАред
- рд╣рдо рдЗрд╕реЗ
ReDim
keyword рд╕реЗ рд╕рдордп рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред
Dim marks() As Integer
ReDim marks(1 To 3)
marks(1) = 45
marks(2) = 50
marks(3) = 60
MsgBox "Array рдХрд╛ size рд╣реИ: " & UBound(marks) - LBound(marks) + 1
Dynamic code рдореЗрдВ рдлрд╛рдпрджреЗ:
- Code automatically Array рдХреА current size рдЬрд╛рди рд▓реЗрддрд╛ рд╣реИред
- рд╣рд░ рдмрд╛рд░ manually рдмрджрд▓рдиреЗ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рдкрдбрд╝рддреАред
- рдХреЛрдИ рднреА programmer рдЖрд╕рд╛рдиреА рд╕реЗ Code рдХреЛ рд╕рдордЭ рдФрд░ maintain рдХрд░ рд╕рдХрддрд╛ рд╣реИред
- Error рдЖрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдмрд╣реБрдд рдХрдо рд╣реЛ рдЬрд╛рддреА рд╣реИред
Common Mistakes while Using UBound and LBound
- рд╕рд┐рд░реНрдл UBound рдХрд╛ use рдХрд░рдирд╛ рдФрд░ LBound рдХреЛ ignore рдХрд░рдирд╛ред
- Array рдХреЛ initialize рдХрд┐рдП рдмрд┐рдирд╛ UBound рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рдирд╛ред рдЗрд╕рд╕реЗ тАЬSubscript out of rangeтАЭ error рдЖ рд╕рдХрддреА рд╣реИред
- Multidimensional Array рдореЗрдВ рдЧрд▓рдд dimension рдХрд╛ UBound рд▓реЗрдирд╛ред
Dim myArray(1 To 3, 1 To 2) As String
MsgBox UBound(myArray, 1) 'First dimension
MsgBox UBound(myArray, 2) 'Second dimension
рдпрд╣рд╛рдВ рд╣рдордиреЗ рдмрддрд╛рдпрд╛ рдХрд┐ multidimensional Array рдореЗрдВ рдХрд┐рд╕ рддрд░рд╣ рд╣рдо dimension number рджреЗрдХрд░ UBound рдФрд░ LBound use рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
Difference Between LBound and UBound
Aspect | LBound | UBound |
---|---|---|
Full Form | Lower Bound | Upper Bound |
Purpose | Array рдХреА рд╢реБрд░реБрдЖрдд рдХрд╛ Index рдмрддрд╛рдирд╛ | Array рдХреЗ рдЕрдВрдд рдХрд╛ Index рдмрддрд╛рдирд╛ |
Usage in Loop | Loop рдХреА рд╢реБрд░реБрдЖрдд рддрдп рдХрд░рддрд╛ рд╣реИ | Loop рдХреА рд╕рдорд╛рдкреНрддрд┐ рддрдп рдХрд░рддрд╛ рд╣реИ |
Required for size | рд╣рд╛рдБ | рд╣рд╛рдБ |
Best Practices for Using UBound and LBound
- рд╣рдореЗрд╢рд╛ рджреЛрдиреЛрдВ functions рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░реЗрдВ, рдЦрд╛рд╕рдХрд░ рдЬрдм Array dynamic рдпрд╛ custom index рд╕реЗ рд╢реБрд░реВ рд╣реЛред
- Loop рдореЗрдВ hardcoded value (рдЬреИрд╕реЗ 0 рдпрд╛ 1 рд╕реЗ рд╢реБрд░реВ рдХрд░рдирд╛) рд╕реЗ рдмрдЪреЗрдВред
- рдЕрдЧрд░ рдЖрдк multidimensional Array use рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ proper dimension parameter рдЬрд░реВрд░ рджреЗрдВред
- Error handling рдХрд░реЗрдВ рдЕрдЧрд░ Array empty рд╣реЛ рдпрд╛ initialize рдирд╣реАрдВ рд╣реЛред
Real-World Use Case: Student Marks Calculator
Dim marks() As Integer
ReDim marks(1 To 5)
marks(1) = 80
marks(2) = 90
marks(3) = 85
marks(4) = 75
marks(5) = 95
Dim i As Integer
Dim total As Integer
total = 0
For i = LBound(marks) To UBound(marks)
total = total + marks(i)
Next i
MsgBox "Total Marks: " & total
рдЗрд╕ example рдореЗрдВ рд╣рдордиреЗ UBound рдФрд░ LBound рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ student marks рдХрд╛ total рдирд┐рдХрд╛рд▓рд╛ рд╣реИ, рдЬреЛ рдПрдХ practical рдФрд░ real-life example рд╣реИред
FAQs
UBound(array) - LBound(array) + 1
ред рдЗрд╕рд╕реЗ Array рдореЗрдВ рдореМрдЬреВрдж elements рдХреА рд╕рд╣реА рд╕рдВрдЦреНрдпрд╛ рдкрддрд╛ рдЪрд▓рддреА рд╣реИред
For i = LBound(array) To UBound(array)
'your code here
Next i
рдЗрд╕рд╕реЗ loop рдкреВрд░реА Array рдХреЛ cover рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХрд┐рд╕реА Index рдХреЛ miss рдирд╣реАрдВ рдХрд░рддрд╛ред