Since the Array is not very large, you could try the loved and hated Swap Sort
Code:Option Explicit Dim myArray(3, 4) As Byte Private Sub Command_Click() Dim intI As Integer Dim intJ As Integer Dim intK As Integer Dim boChange As Boolean Dim bytTemp(4) As Byte For intI = 4 To 0 Step -1 Do boChange = False Do If myArray(intJ, intI) > myArray(intJ + 1, intI) Then For intK = 0 To 4 bytTemp(intK) = myArray(intJ, intK) Next intK For intK = 0 To 4 myArray(intJ, intK) = myArray(intJ + 1, intK) Next intK For intK = 0 To 4 myArray(intJ + 1, intK) = bytTemp(intK) Next intK boChange = True End If intJ = intJ + 1 Loop Until intJ > UBound(myArray, 1) - 1 intJ = 0 Loop Until boChange = False Next intI For intI = 0 To 3 For intJ = 0 To 4 Debug.Print myArray(intI, intJ); " "; Next intJ Debug.Print Next intI End Sub Private Sub Form_Load() myArray(0, 0) = 6 myArray(0, 1) = 4 myArray(0, 2) = 4 myArray(0, 3) = 2 myArray(0, 4) = 9 myArray(1, 0) = 3 myArray(1, 1) = 1 myArray(1, 2) = 7 myArray(1, 3) = 4 myArray(1, 4) = 1 myArray(2, 0) = 3 myArray(2, 1) = 1 myArray(2, 2) = 7 myArray(2, 3) = 4 myArray(2, 4) = 2 myArray(3, 0) = 3 myArray(3, 1) = 3 myArray(3, 2) = 8 myArray(3, 3) = 3 myArray(3, 4) = 1 End Sub




Reply With Quote