Ordenar de Mayor a Menor excel 2016 rango de celdas

Tengo una hoja que se autorrellena con fórmulas, y necesito que a medida que se van rellenando los campos se ordenen de mayor a menor por uno de los campos.

¿Alguien puede ayudarme?

Respuesta
1
'Para acomodar de menor a mayor
Range("Aquí vas a poner la celda donde aplicará el filtro").select
ActiveWorkbook.Worksheets("Aquí va el nombre de tu hoja").AutoFilter.Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Aquí va el nombre de tu hoja").AutoFilter.Sort.SortFields.Add Key:=Range( _
        "Aquí va tu rango datos"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
        xlSortNormal
    With ActiveWorkbook.Worksheets("Aquí va el nombre de tu hoja").AutoFilter.Sort
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With

Ése sería el código, sólo añádele el botón y ejecútala, sustituyes el nombre de tu hoja y el rango que ordenará.

No te olvides de puntuar.

Gracias Gabriel,

y de Mayor a Menor?

Sería posible?

Gabriel, no me funciona, quizá sea porque donde se rellenan los datos es en otra hoja diferente a la que quiero ordenar,

¿Cómo se llama la hoja? Y dime cuál es el rango a ordenar ¿Ya tiene filtro o hay que ponerlo? En caso de que no tenga dime de qué a qué rangos ocupa tu base.

Gracias,

 te detallo: la hoja se llama MADRID, el rango de celdas (A12;AO50) el filtro debe ir en el campo situado en el rango (AN12:AN50) siendo A11 el encabezado. el filtro no está puesto.

Gracias por tu ayuda

Sería así.

'Para acomodar de menor a mayor'
Range("A12:AO12").select
Selection.Autofilter
Range("A11").select
ActiveWorkbook.Worksheets("MADRID").AutoFilter.Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("MADRID").AutoFilter.Sort.SortFields.Add Key:=Range( _
        "AN12:AN50"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
        xlSortNormal
    With ActiveWorkbook.Worksheets("MADRID").AutoFilter.Sort
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With

Ése sería el código, el rango de donde se va a modificar pónselo manual, yo hice un estimado de AN12:AN50, tú le modificas el rango.

No te olvides de puntuar.

En donde va el Range("A11").select se me olvidó que es AN.

Añade tu respuesta

Haz clic para o
El autor de la pregunta ya no la sigue por lo que es posible que no reciba tu respuesta.

Más respuestas relacionadas