[VBA] – Classificando em ordem alfabética dados de um listbox

Tempo de leitura: menos de 1 minuto

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!

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

WordPress spam blocked by CleanTalk.