Ordenar una Hoja de Excel por medio de un Botón en un UserForm

Para Dante Amor, como de costumbre muy acertada tu respuesta anterior, mi petición ahora es tratar de ordenar el contenido de una Hoja de Excel elegida en un ComboBox, la idea es ordenar todas las Filas de la Hoja, utilizando la columna "D" que tiene números y que el Código se ejecute con un Botón agregado al mismo UserForm. A la espera de tu colaboración te doy las gracias por todo.

1 respuesta

Respuesta
1

¿En cuál fila están los datos?

¿En cuál fila están los encabezados?

¿Y de cuál columna a cuál columna hay que ordenar?

La fila de datos comienza en la "B3" a mayores.

La fila del encabezado esta en "B2 a E2".

Las columnas a ordenar son "B, C, D, E" siendo la "D" la que da el orden.

Pon el siguiente código en el botón de ordenar

Private Sub CommandButton2_Click()
'Por.Dante Amor
    'Ordenar hoja
    If ComboBox1.ListIndex = -1 Or ComboBox1.Value = "" Then
        MsgBox "Selecciona una hoja", vbExclamation
        Exit Sub
    End If
    Set h = Sheets(ComboBox1.Value)
    u = h.Range("D" & Rows.Count).End(xlUp).Row
    With Sheets(ComboBox1.Value).Sort
        .SortFields.Clear
        .SortFields.Add Key:=h.Range("D3:D" & u), _
            SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        .SetRange h.Range("B2:E" & u)
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas