Ordenar columna con números automáticamente con macro

Tengo un rango de celdas en columna A, con diferentes nºs enteros que incluso están repetidos. Como pueden ser 1,1,1,1,1,2,2,3,3,7,7,7,6,12,2...en este orden.

Quisiera que en la hoja Excel, me ordenaría en las 5 filas primeras los 1, en las 3 siguientes los 2, en las 2 siguientes los 3, en la siguiente fila el 6, en las 3 siguientes el 7, y en la siguiente el 12.

A tener en cuenta que en la columna A, tenemos un dato, en la columna B, C, DE y E... Tenemos datos correspondiente al valor que se encuentra en A, con lo cual se trataría de ordenar todas las filas desde A hasta E... Dependiendo del valor en A.

El valor más bajo en A seria 1.

Animo

2 Respuestas

Respuesta
1
Respuesta
2

H o l a:

Te anexo 2 macros.

Utiliza la siguiente si tienes encabezados en la fila1 y tus datos empiezan en la fila 2

Sub OrdenarCon()
'Por.Dante Amor
    u = Range("A" & Rows.Count).End(xlUp).Row
    With ActiveSheet.Sort
        .SortFields.Clear
        .SortFields.Add Key:=Range("A2:A" & u), _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortTextAsNumbers
        .SetRange Range("A1:E" & u)
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub

Utiliza la siguiente si no tienes encabezados y si tus datos empiezan en la fila 1

Sub OrdenarSin()
'Por.Dante Amor
    u = Range("A" & Rows.Count).End(xlUp).Row
    With ActiveSheet.Sort
        .SortFields.Clear
        .SortFields.Add Key:=Range("A1:A" & u), _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortTextAsNumbers
        .SetRange Range("A1:E" & u)
        .Header = xlNo
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas