............ Foro Excel
Si no lo has hecho aún: REGISTRATE!!!

Ordenar Columnas de un listbox

Ver el tema anterior Ver el tema siguiente Ir abajo

Ordenar Columnas de un listbox

Mensaje por Roberto2010 el Lun Nov 29, 2010 11:17 am

Buenos días,
Aporto un listbox con veinte columnas y con la opcion de ordenar ascendente y descendentemente en tres columnas.
La utilidad que le doy es para controlar que se hayan cargado bien los datos y por eso me sirve que los orden visualmente en el ListBox.
Si no es mucha molestia pediría a los expertos si pueden mejorar la macro que ordena ya que la hice con la grabadora y probablemente haya alguna forma de hacer que el código trabaje más rápido.
[Tienes que estar registrado y conectado para ver esa imagen]


[Tienes que estar registrado y conectado para ver esa imagen]



En el modulo del Formulario
Código:
Option Explicit

Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
Range("C10:V2000").Sort Key1:=Range("D10"), Order1:=xlAscending, Header _
        :=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom _
        , DataOption1:=xlSortNormal
Application.ScreenUpdating = True
End Sub

Private Sub CommandButton2_Click()
Application.ScreenUpdating = False
Range("C10:V2000").Sort Key1:=Range("D10"), Order1:=xlDescending, Header _
        :=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom _
        , DataOption1:=xlSortNormal
Application.ScreenUpdating = True
End Sub

Private Sub CommandButton3_Click()
Application.ScreenUpdating = False
Range("C10:V2000").Sort Key1:=Range("I10"), Order1:=xlAscending, Header _
        :=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom _
        , DataOption1:=xlSortNormal
Application.ScreenUpdating = True
End Sub

Private Sub CommandButton4_Click()
Application.ScreenUpdating = False
Range("C10:V2000").Sort Key1:=Range("I10"), Order1:=xlDescending, Header _
        :=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom _
        , DataOption1:=xlSortNormal
Application.ScreenUpdating = True
End Sub

Private Sub CommandButton5_Click()
Application.ScreenUpdating = False
Range("C10:V2000").Sort Key1:=Range("M10"), Order1:=xlAscending, Header _
        :=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom _
        , DataOption1:=xlSortNormal
Application.ScreenUpdating = True
End Sub

Private Sub CommandButton6_Click()
Application.ScreenUpdating = False
Range("C10:V2000").Sort Key1:=Range("M10"), Order1:=xlDescending, Header _
        :=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom _
        , DataOption1:=xlSortNormal
Application.ScreenUpdating = True
End Sub

Private Sub UserForm_Initialize()
ListBox1.ColumnCount = 20
ListBox1.RowSource = "C10:V2000"
End Sub

Atentamente Roberto
avatar
Roberto2010

Masculino Cantidad de envíos : 76
Edad : 40
Ciudad - Pais : ARGENTINA
Version de Excel : 2003-2007
Fecha de inscripción : 03/09/2010

Volver arriba Ir abajo

Re: Ordenar Columnas de un listbox

Mensaje por Logroastur el Mar Nov 30, 2010 7:41 am

Buenas aunque no soy un experto, chequea archivo espero que te pueda ser útil

[Tienes que estar registrado y conectado para ver este vínculo]

un saludo

avatar
Logroastur
Moderador
Moderador

Masculino Cantidad de envíos : 32
Edad : 52
Ciudad - Pais : España
Version de Excel : 2007
Fecha de inscripción : 20/11/2010

http://www.foroexcel.com/foro/

Volver arriba Ir abajo

Re: Ordenar Columnas de un listbox

Mensaje por Roberto2010 el Mar Nov 30, 2010 12:18 pm

Qué grande!
El código es mas rápido y se ve mas profesional al poder elegir la columna.
Muchas Gracias!
Roberto
avatar
Roberto2010

Masculino Cantidad de envíos : 76
Edad : 40
Ciudad - Pais : ARGENTINA
Version de Excel : 2003-2007
Fecha de inscripción : 03/09/2010

Volver arriba Ir abajo

Re: Ordenar Columnas de un listbox

Mensaje por Logroastur el Mar Nov 30, 2010 12:46 pm

Buenas me alegra que te halla podido ser útil

un saludo

_________________


ForoExcel


avatar
Logroastur
Moderador
Moderador

Masculino Cantidad de envíos : 32
Edad : 52
Ciudad - Pais : España
Version de Excel : 2007
Fecha de inscripción : 20/11/2010

http://www.foroexcel.com/foro/

Volver arriba Ir abajo

Re: Ordenar Columnas de un listbox

Mensaje por car88 el Mar Abr 12, 2016 5:59 am

Éste enlace no funciona. Por favor, me podrían indicar otro enlace para ver un ejemplo de ordenar por una columna dentro de un Listbox?
Gracias
Car

car88

Masculino Cantidad de envíos : 2
Edad : 27
Ciudad - Pais : españa
Version de Excel : 2016
Fecha de inscripción : 12/04/2016

Volver arriba Ir abajo

Re: Ordenar Columnas de un listbox

Mensaje por bernardozjoel el Dom Dic 18, 2016 9:56 pm

Gracias por el aporte.
Consulta: como seria el código para solo ordenar en el listbox mas no en la hoja de calculo

bernardozjoel

Masculino Cantidad de envíos : 1
Edad : 31
Ciudad - Pais : peru
Version de Excel : excel 2016
Fecha de inscripción : 18/12/2016

Volver arriba Ir abajo

Re: Ordenar Columnas de un listbox

Mensaje por P@li el Lun Ene 23, 2017 9:33 pm

Hola Bernardo,
La verdad es que desconozco el contenido del archivo que adjuntaron, pero podria servirte una orientacion:

En el formulario pondria un combobox llamado cboNombreColumna, en UserForm_Initialize completo ese combobox con los nombres de las columnas.
Otro combo que diga Ascendente o Descendente y ese se va a llamar cboOrden
Ambos combos yo le pondria la propiedad Style en 2 - fmStyleDropDownList
Despues agrego un boton llamado cmdOrdenar, y le asigno este codigo:

Código:


Private Sub cmdOrdenar_Click()

    Dim orden As Long
    
    If cboOrden = "Ascendente" Then
        orden = xlAscending
    ElseIf cboOrden = "Descendente" Then
        orden = xlDescending
    End If
    
    If ComboBox1.ListIndex <> -1 Then
    
        Application.ScreenUpdating = False
        Range(ListBox1.RowSource).Sort Key1:=cboNombreColumna, Order1:=orden, Header _
                :=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom _
                , DataOption1:=xlSortNormal
        Application.ScreenUpdating = True
        
    End If
    
End Sub


Saludos,
Pablo.

P@li
Admin

Masculino Cantidad de envíos : 243
Edad : 33
Ciudad - Pais : Buenos Aires, Argentina
Version de Excel : Microsoft Excel 2002 (10.2614.2625)
Fecha de inscripción : 03/03/2008

Volver arriba Ir abajo

Re: Ordenar Columnas de un listbox

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


 
Permisos de este foro:
No puedes responder a temas en este foro.