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

What is UBound and LBound in Array in Hindi

Buy all subjects pdf notes now [ examSpecial ]

Makhanlal Chaturvedi University / BCA / VBA programming

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 function рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рд╕реА Array рдХреЗ рдЖрдЦрд┐рд░реА Index рдХреЛ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рд╣рдореЗрдВ рдпрд╣ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ Array рдореЗрдВ рдХрд┐рддрдиреЗ elements рд╣реИрдВ рдФрд░ Loop рдХреЛ рдХрд╣рд╛рдВ рддрдХ рдЪрд▓рд╛рдирд╛ рд╣реИред Dynamic Arrays рдХреЗ рд╕рд╛рде рдпрд╣ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реЛрддрд╛ рд╣реИред
LBound рдХрд┐рд╕реА Array рдХреЗ рдкрд╣рд▓реЗ Index рдХреЛ return рдХрд░рддрд╛ рд╣реИ рдЬрдмрдХрд┐ UBound рдЖрдЦрд┐рд░реА Index рдХреЛред рджреЛрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдорд┐рд▓рд╛рдХрд░ рд╣рдо Array рдХреА total size рдирд┐рдХрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ safe looping рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЖрдк Array рдХрд╛ size рдЗрд╕ formula рд╕реЗ рдирд┐рдХрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ: UBound(array) - LBound(array) + 1ред рдЗрд╕рд╕реЗ Array рдореЗрдВ рдореМрдЬреВрдж elements рдХреА рд╕рд╣реА рд╕рдВрдЦреНрдпрд╛ рдкрддрд╛ рдЪрд▓рддреА рд╣реИред
рд╣рд╛рдБ, UBound рдХреЛ dynamic arrays рдХреЗ рд╕рд╛рде рдмрдбрд╝реА рдЖрд╕рд╛рдиреА рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЬрдм рднреА рдЖрдк ReDim рд╕реЗ Array рдХреЛ resize рдХрд░рддреЗ рд╣реИрдВ, рддрдм UBound рдЖрдкрдХреЛ updated size рджреЗрддрд╛ рд╣реИред
рдЖрдк For Loop рдореЗрдВ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: For i = LBound(array) To UBound(array)
   'your code here
Next i
рдЗрд╕рд╕реЗ loop рдкреВрд░реА Array рдХреЛ cover рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХрд┐рд╕реА Index рдХреЛ miss рдирд╣реАрдВ рдХрд░рддрд╛ред
рдЕрдЧрд░ рдЖрдк UBound рдХреЛ рдРрд╕реЗ Array рдкрд░ use рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ initialize рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ "Subscript out of range" error рдЖрддреА рд╣реИред рдЗрд╕рд▓рд┐рдП рдкрд╣рд▓реЗ Array рдХреЛ initialize рдЬрд░реВрд░ рдХрд░реЗрдВ рдпрд╛ error handling use рдХрд░реЗрдВред

Please Give Us Feedback