¿Como ordenar el listado de mi combobox?

Para ElsaMatilde: ¿Cómo puedo ordenar mi listado de un combobox?, ya que en mi listado de excel están ordenados de acuerdo a cada región de y no puedo cambiarlo.

1 respuesta

Respuesta
1

En el Userform, reemplazá el evento INITIALIZE por este:

Private Sub UserForm_Initialize()
'los 2 desplegables muestran la misma lista -----NOTA: se toma la lista ordenada de col LM
Call ordenaLista
x = Hoja2.Range("LM" & Rows.Count).End(xlUp).Row
ComboBox1.RowSource = "=Hoja2!LM2:LM" & x
ComboBox2.RowSource = "=Hoja2!LM2:LM" & x
End Sub

Insertá un módulo y allí copiá la macro de orden. Ajustá la col (en mi ejemplo se ordena en LM de la misma Hoja2). Y la hoja y col que dejes será la que se tomará en el evento Initialize.

Sub ordenaLista()
'x Elsamatilde
'copia la col A en rgo auxiliar para ordenarlo y asignarlo al combobox
'se trabaja en Hoja2.... ajustar a gusto
'se copia el rango de la col A a la col LM  'ajustar a gusto
x = Hoja2.Range("A" & Rows.Count).End(xlUp).Row
Hoja2.Range("A2:A" & x).Copy Destination:=Hoja2.[L1]
    ActiveWorkbook.Worksheets("Hoja2").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Hoja2").Sort.SortFields.Add Key:=Range("LM2:LM" & x), _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Hoja2").Sort
        .SetRange Range("LM1:LM" & x)
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub

Sdos. No olvides valorar la respuesta si el tema queda resuelto.

MUCHAS ¡Gracias! Elsa... perdone la demora en responder... estuve fuera y desconectado por motivos personales... pero ya volví y ajuste lo que me indica y esta perfecto...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas