[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 parametro 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 util para vocês como está sendo para mim.

[sourcecode highlight=”” language=”vb”]
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

[/sourcecode]

Pratiquem!

Você achou este post útil? Ao compartilhar este post no Facebook, Twitter, você não está apenas ajudando os outros com muita informação, você está criando exposição para o blog excelsemlimites.com. Aprendendizado é a principal a razão pela qual este blog existe! Se você quer ajudar a compartilhar o blog, basta clicar no botão Compartilhar logo abaixo deste texto. Muito obrigado pela leitura e esperamos continuar fornecendo grandes conteúdos no futuro!

Deixe uma resposta

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