### Sort a multi-dimensional array in ascending order

This code will sort the values of an array in alphabetical or numerical order. The test example below creates a text array of letters in random order and calls the SortArray Sub function to sort the values in ascending order
LotusScript

```Sub Click(Source As Button)

Dim TestArray(6, 0) As String

TestArray(0, 0) = "C, 3"
TestArray(1, 0) = "F, 6"
TestArray(2, 0) = "A, 1"
TestArray(3, 0) = "D, 4"
TestArray(4, 0) = "G, 7"
TestArray(5, 0) = "B, 2"
TestArray(6, 0) = "E, 5"

Call SortArray(TestArray)

End Sub```

```Sub SortArray(array)

n = Ubound(Array) + 1

For X = 1 To (n - 1) 'Perform the following loop for each value in the arrays
J = X
Do While J >= 1
If Array(J) < Array(J - 1) Then ' Compares two values in the array
ValueA = Array(J) ' Swap the values compared since the second is less than the first
ValueB = Array(J - 1)
Array(J) = ValueB
Array(J - 1) = ValueA
J = J - 1 ' Increment to the next two down in the array (descending to index 0 )
Else
Exit Do ' Index 0 reached, goto next X index in the array and loop again
End If
Loop
Next

End Sub```

```RESULT:
TestArray(0,0) = "A, 1"
TestArray(1,0) = "B, 2"
TestArray(2,0) = "C, 3"
TestArray(3,0) = "D, 4"
TestArray(4,0) = "E, 5"
TestArray(5,0) = "F, 6"
TestArray(6,0) = "G, 7"```

Posted by fbrefere001 on Wednesday March 20, 2002