Introduction to Sorting an Array in VBA in Hindi
Makhanlal Chaturvedi University / BCA / VBA programming
Sorting Array in Excel VBA - Complete Guide in Hindi
Introduction to Sorting an Array in VBA in Hindi
рдЬрдм рд╣рдо Excel VBA рдореЗрдВ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЕрдХреНрд╕рд░ рд╣рдореЗрдВ data рдХреЛ рдХрд┐рд╕реА рдирд┐рд╢реНрдЪрд┐рдд рдХреНрд░рдо (рдЬреИрд╕реЗ рдХрд┐ рдЫреЛрдЯреЗ рд╕реЗ рдмрдбрд╝реЗ рдпрд╛ рдмрдбрд╝реЗ рд╕реЗ рдЫреЛрдЯреЗ) рдореЗрдВ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реЛрддреА рд╣реИред рдЗрд╕реЗ рд╣реА **Array Sorting** рдХрд╣рддреЗ рд╣реИрдВред Sorting рдХрд╛ рдЙрдкрдпреЛрдЧ рдбреЗрдЯрд╛ рдХреЛ рдкрдврд╝рдиреЗ рдФрд░ рд╕рдордЭрдиреЗ рдореЗрдВ рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
VBA рдореЗрдВ Arrays рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ container рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдПрдХ рд╣реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдХрдИ values рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЬрдм рдЗрди values рдХреЛ рдХрд┐рд╕реА logic рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХреНрд░рдордмрджреНрдз рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЙрд╕реЗ рд╣рдо Sorting рдХрд╣рддреЗ рд╣реИрдВред
Sorting рдХреЗ рджреЛ рдореБрдЦреНрдп рдкреНрд░рдХрд╛рд░ рд╣реЛрддреЗ рд╣реИрдВ:
- Ascending Order (рдЫреЛрдЯреЗ рд╕реЗ рдмрдбрд╝реЗ рдХреНрд░рдо рдореЗрдВ)
- Descending Order (рдмрдбрд╝реЗ рд╕реЗ рдЫреЛрдЯреЗ рдХреНрд░рдо рдореЗрдВ)
Array рдХреЛ sort рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдо manual logic рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ VBA рдореЗрдВ built-in sorting method рдирд╣реАрдВ рд╣реЛрддрд╛ (рдЬреИрд╕реЗ JavaScript рдпрд╛ Python рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ)ред рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдЦреБрдж рд╕реЗ sorting logic рд▓рд┐рдЦрдиреА рд╣реЛрддреА рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рддрд░реАрдХрд╛ рд╣реИ **Bubble Sort**, рдЬрд┐рд╕ рдкрд░ рд╣рдо рдиреАрдЪреЗ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдЪрд░реНрдЪрд╛ рдХрд░реЗрдВрдЧреЗред
Sorting Array in Ascending and Descending Order in Hindi
Ascending Order (рдЫреЛрдЯреЗ рд╕реЗ рдмрдбрд╝реЗ рдХреНрд░рдо рдореЗрдВ)
рдЬрдм рд╣рдо Array рдХреЛ Ascending Order рдореЗрдВ sort рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЙрд╕рдХрд╛ рдорддрд▓рдм рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рд╕рдмрд╕реЗ рдЫреЛрдЯрд╛ value рдкрд╣рд▓реЗ рдЖрдП рдФрд░ рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ value рдмрд╛рдж рдореЗрдВ рдЖрдПред рдЬреИрд╕реЗ рдпрджрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ array рд╣реИ:
Dim arr() As Integer
arr = Array(5, 3, 8, 1, 4)
Sorting рдХреЗ рдмрд╛рдж рдпрд╣ array рдмрдиреЗрдЧрд╛: 1, 3, 4, 5, 8
Descending Order (рдмрдбрд╝реЗ рд╕реЗ рдЫреЛрдЯреЗ рдХреНрд░рдо рдореЗрдВ)
Descending Order рдореЗрдВ рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ value рдкрд╣рд▓реЗ рдЖрддрд╛ рд╣реИ рдФрд░ рд╕рдмрд╕реЗ рдЫреЛрдЯрд╛ value рдЕрдВрдд рдореЗрдВред рдКрдкрд░ рджрд┐рдП рдЧрдП array рдХреЛ descending рдХрд░рдиреЗ рдкрд░ result рд╣реЛрдЧрд╛: 8, 5, 4, 3, 1
Ascending Order рдХреЗ рд▓рд┐рдП Code
Sub SortArrayAscending()
Dim arr() As Integer
Dim i As Integer, j As Integer, temp As Integer
arr = Array(5, 3, 8, 1, 4)
For i = LBound(arr) To UBound(arr) - 1
For j = i + 1 To UBound(arr)
If arr(i) > arr(j) Then
temp = arr(i)
arr(i) = arr(j)
arr(j) = temp
End If
Next j
Next i
For i = LBound(arr) To UBound(arr)
Debug.Print arr(i)
Next i
End Sub
Descending Order рдХреЗ рд▓рд┐рдП Code
Sub SortArrayDescending()
Dim arr() As Integer
Dim i As Integer, j As Integer, temp As Integer
arr = Array(5, 3, 8, 1, 4)
For i = LBound(arr) To UBound(arr) - 1
For j = i + 1 To UBound(arr)
If arr(i) < arr(j) Then
temp = arr(i)
arr(i) = arr(j)
arr(j) = temp
End If
Next j
Next i
For i = LBound(arr) To UBound(arr)
Debug.Print arr(i)
Next i
End Sub
Using Bubble Sort for Array Data in VBA in Hindi
Bubble Sort рдПрдХ рдмрд╣реБрдд рд╣реА рдЖрд╕рд╛рди sorting technique рд╣реИ рдЬрд┐рд╕рдореЗрдВ adjacent elements рдХреА рддреБрд▓рдирд╛ рдХрд░рдХреЗ рдЙрдиреНрд╣реЗрдВ рдЖрдкрд╕ рдореЗрдВ swap рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЕрдЧрд░ рд╡реЛ рдЧрд▓рдд рдХреНрд░рдо рдореЗрдВ рд╣реЛрдВред рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рддрдм рддрдХ рджреЛрд╣рд░рд╛рдИ рдЬрд╛рддреА рд╣реИ рдЬрдм рддрдХ рдкреВрд░рд╛ array sort рди рд╣реЛ рдЬрд╛рдПред
Bubble Sort рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?
- рдкрд╣рд▓реЗ рджреЛ elements рдХреА рддреБрд▓рдирд╛ рдХреА рдЬрд╛рддреА рд╣реИ
- рдЕрдЧрд░ рдкрд╣рд▓реЗ рд╡рд╛рд▓рд╛ рдмрдбрд╝рд╛ рд╣реИ рддреЛ рдЙрдиреНрд╣реЗрдВ swap рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
- рдлрд┐рд░ рдЕрдЧрд▓реА pair рдХреА рддреБрд▓рдирд╛ рд╣реЛрддреА рд╣реИ
- рд╣рд░ рдмрд╛рд░ рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ element рдЕрдВрдд рдореЗрдВ рдкрд╣реБрдВрдЪрддрд╛ рд╣реИ (рдЬреИрд╕реЗ bubble рдКрдкрд░ рдЖрддрд╛ рд╣реИ)
- рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдмрд╛рд░-рдмрд╛рд░ рд╣реЛрддреА рд╣реИ рдЬрдм рддрдХ рдкреВрд░рд╛ array sorted рди рд╣реЛ рдЬрд╛рдП
Bubble Sort рдХрд╛ VBA Code
Sub BubbleSortArray()
Dim arr() As Integer
Dim i As Integer, j As Integer, temp As Integer
arr = Array(7, 2, 9, 1, 5)
For i = LBound(arr) To UBound(arr) - 1
For j = 0 To UBound(arr) - i - 1
If arr(j) > arr(j + 1) Then
temp = arr(j)
arr(j) = arr(j + 1)
arr(j + 1) = temp
End If
Next j
Next i
For i = LBound(arr) To UBound(arr)
Debug.Print arr(i)
Next i
End Sub
Practical Use Case of Array Sorting in Excel VBA in Hindi
рдЕрдм рд╣рдо рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо Sorting рдХреЛ Excel рдХреЗ рдХрд┐рд╕реА Practical Example рдореЗрдВ рдХреИрд╕реЗ рдкреНрд░рдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдорд╛рди рд▓реАрдЬрд┐рдП рдЖрдкрдХреЗ рдкрд╛рд╕ Excel рдХреА рдХрд┐рд╕реА Sheet рдореЗрдВ рдПрдХ Student рдХреА Marks List рд╣реИ, рдФрд░ рдЖрдк рдЙрди Marks рдХреЛ highest рд╕реЗ lowest рдХреНрд░рдо рдореЗрдВ рджрд┐рдЦрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
Example Scenario
- Column A рдореЗрдВ Student рдХреЗ рдирд╛рдо рд╣реИрдВ
- Column B рдореЗрдВ рдЙрдирдХреЗ Marks рд╣реИрдВ
- рд╣рдореЗрдВ Marks рдХреЛ Descending Order рдореЗрдВ sort рдХрд░рдирд╛ рд╣реИ
VBA Code for Sorting Marks Descending Order
Sub SortStudentMarks()
Dim ws As Worksheet
Dim lastRow As Long, i As Long, j As Long
Dim tempMark As Double, tempName As String
Set ws = ThisWorkbook.Sheets("Sheet1")
lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
For i = 2 To lastRow - 1
For j = i + 1 To lastRow
If ws.Cells(i, 2).Value < ws.Cells(j, 2).Value Then
tempMark = ws.Cells(i, 2).Value
tempName = ws.Cells(i, 1).Value
ws.Cells(i, 2).Value = ws.Cells(j, 2).Value
ws.Cells(i, 1).Value = ws.Cells(j, 1).Value
ws.Cells(j, 2).Value = tempMark
ws.Cells(j, 1).Value = tempName
End If
Next j
Next i
End Sub
рдпрд╣ Code Sheet1 рдореЗрдВ Students рдХреЗ Marks рдХреЛ Descending рдХреНрд░рдо рдореЗрдВ sort рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрдирдХреЗ рдирд╛рдо рдХреЛ рднреА рдЙрд╕реА рдХреЗ рдЕрдиреБрд╕рд╛рд░ swap рдХрд░рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдирд╛рдо рдФрд░ рдЕрдВрдХ рдХрд╛ рдорд┐рд▓рд╛рди рд╕рд╣реА рд░рд╣реЗред
рдЗрд╕ рдкреНрд░рдХрд╛рд░, Sorting Array in VBA рдПрдХ рдмрд╣реБрдд рд╣реА рдЙрдкрдпреЛрдЧреА рдФрд░ рдЖрд╡рд╢реНрдпрдХ рддрдХрдиреАрдХ рд╣реИ, рдЦрд╛рд╕рдХрд░ рдЬрдм рд╣рдореЗрдВ data рдХреЛ meaningful рдФрд░ user-friendly рддрд░реАрдХреЗ рд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдирд╛ рд╣реЛрддрд╛ рд╣реИред