2
respostas

Ordenando Combobox

Eu fiz uma outra planilha com base na da aula, consegui alimentar o combobox igual ao do curso, porém ele não está em ordem alfabética. Tentei criar algo para ordenar o combobox em ordem alfabética porém não está funcionando o código.

Criei um módulo novo para declarar as váriaveis e uma sub, e no formulário no combobox em que quero ordernar usei a função Call para chamar a sub criada, porém não obtive resultados.

Dim Inicio As Integer
Dim TotalItens As Integer
Dim Temporario As String
Dim X, I As Integer

Sub OrdenarCombobox()

Inicio = 0
TotalItens = frmFiltros.cmbCategoria.ListCount - 1

For I =   Inicio to TotalItens - 1
For X = I + 1 To TotalItens
If frmFiltros.cmbCategoria.List(I) >frmFiltros.cmbCategoria.List(X) Then
Temporario = frmFiltros.cmbCategoria(X)
frmFiltros.cmbCategoria.List(X) = frmFiltros.cmbCategoria.List(I)
frmFiltros.cmbCategoria.List(I) = Temporario
End if
Next X
Next I


End sub

Se alguém puder me ajudar, fico grato. Desde já agradeço.

2 respostas

Olá,

Uma sugestão é você ordenar os dados da tabela que estão na planilha antes de alimentar o combo.

Sub OrdenaDadosSemCabecalho()
    Range("A1:A12").Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlNo
End Sub

Considere ler o artigo abaixo (em inglês)

https://trumpexcel.com/sort-data-vba/

Bons estudos.

Eu até poderia fazer isso, porém são vários combo. Até tentei de outra maneira, mas não deu também. Vou deixar o código anotado e depois tentar implementar com calma. Tentei fazer algo aqui, mas não deu a princípio. Então vou deixar aqui e depois tentar encaixa-lo.

Até criei outra aba em tabela para depois alimentar no DB em forma de lista, mas quando direciono para ler através dessa tabela, ele não filtra. Mas vou ver com calma depois. Mas obrigado pela ajuda!