araujors, bom dia!
Baixei sua planilha, e nela, criei uma rotina para alimentar o listbox depois que a planilha for classificada e não fiz uso da rotina que ordena o listbox. Seguem abaixo os códigos:
Variavel publica no modulo
Public vFiltroColuna As String
Rotina que classifica a planilha
Sub classificar()
Dim i As Integer
i = ActiveSheet.UsedRange.Rows.Count
ActiveWorkbook.Worksheets("Plan1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Plan1").Sort.[code][/code]SortFields.Add Key:=Range(vFiltroColuna & "2:" & vFiltroColuna & i), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Plan1").Sort
.SetRange Range("A1:C" & i)
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
E depois, no evento click dos CheckBoxes adicione:
vFiltroColuna = "X" 'troque pela letra da coluna em cada checkbox
classificar 'rotina que classifica a planilha
UserForm_Initialize 'a rotina que carrega o listbox esta aqui, então não alterei
Teste ai, e nos avise.
[]s
Espero ter ajudado.
Abs.
Saulo Robles
Postado : 05/06/2015 11:27 pm