Sorting ListBox Items alphabetically

Vishesh's picture

 This is the simple code to sort ListBox items alphabetically. Alternatively, you can download the file and test run it for yourself. Just pass the listbox object as function parameter.

 

Option Explicit
 
 
 
Sub SortListBox(lst As MSForms.ListBox)
 
    Dim arrItems            As Variant
 
    Dim arrTemp             As Variant
 
    Dim intOuter            As Long
 
    Dim intInner            As Long
 
 
 
    arrItems = lst.List
 
 
 
    For intOuter = LBound(arrItems, 1) To UBound(arrItems, 1)
 
        For intInner = intOuter + 1 To UBound(arrItems, 1)
 
            If arrItems(intOuter, 0) > arrItems(intInner, 0) Then
 
                arrTemp = arrItems(intOuter, 0)
 
                arrItems(intOuter, 0) = arrItems(intInner, 0)
 
                arrItems(intInner, 0) = arrTemp
 
            End If
 
        Next intInner
 
    Next intOuter
 
 
 
    'Clear the listbox

    lst.Clear
 
 
 
    'Add the sorted array back to the listbox

    For intOuter = LBound(arrItems, 1) To UBound(arrItems, 1)
 
        lst.AddItem arrItems(intOuter, 0)
 
    Next intOuter
 
End Sub
 
 
 
Sub ExecuteFunction()
 
    Call SortListBox(Sheet1.ListBox1)
 
End Sub
 

 

Sort ListBox Items

AttachmentSize
SortListBox.xls35.5 KB