ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   How to sort ListBox or Array? (https://www.excelbanter.com/excel-programming/319144-how-sort-listbox-array.html)

NEED

How to sort ListBox or Array?
 
Is there any easy way the best build in VBA.....lets to sort listbox /
combocox or array?



Tom Ogilvy

How to sort ListBox or Array?
 
Sort your data before you put it in the combobox


Sub Tester11a()
Dim vArr as Variant
Dim rng as Range
Set rng = Range("I7").CurrentRegion
vArr = rng.Value
QuickSort vArr, 5, LBound(vArr, 1), UBound(vArr, 1)
Userform1.Combobox1.List = vArr
End Sub


Sub QuickSort(SortArray, col, L, R)
'
'Posted by Jim Rech 10/20/98 Excel.Programming
'Modified to sort on first column of a two dimensional array
'Modified to handle a second dimension greater than 1 (or zero)
Dim i, j, X, Y, mm
' Usage Quicksort Array to sort, column to sort on, Lowest row, Highest
row


i = L
j = R
X = SortArray((L + R) / 2, col)


While (i <= j)
While (SortArray(i, col) < X And i < R)
i = i + 1
Wend
While (X < SortArray(j, col) And j L)
j = j - 1
Wend
If (i <= j) Then
For mm = LBound(SortArray, 2) To UBound(SortArray, 2)
Y = SortArray(i, mm)
SortArray(i, mm) = SortArray(j, mm)
SortArray(j, mm) = Y
Next mm
i = i + 1
j = j - 1
End If
Wend
If (L < j) Then Call QuickSort(SortArray, col, L, j)
If (i < R) Then Call QuickSort(SortArray, col, i, R)
End Sub


--
Regards,
Tom Ogilvy


"NEED" wrote in message
...
Is there any easy way the best build in VBA.....lets to sort listbox /
combocox or array?






All times are GMT +1. The time now is 05:04 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com