Fala Pessoal,
O codigo abaixo é muito útil quando se tem dados em um listbox no vba do Excel que não estão ordenados. Basicamente a sub recebe um listbox como parâmetro e carrega os dados em uma matriz, em seguida carrega os dados novamente no listbox ja classificados em ordem alfabética. Espero que seja muito útil para vocês como está sendo para mim.
Sub ClassificarListBox(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 lst.Clear For intOuter = LBound(arrItems, 1) To UBound(arrItems, 1) lst.AddItem arrItems(intOuter, 0) Next intOuter End Sub
Pratiquem!