Icono del sitio Desafiando Excel

Ordenar automáticante al cambiar datos en Excel (macro)

Ordenar automáticante al cambiar datos en Excel (macro)

¿Cómo podemos ordenar automáticamente un rango al cambiar los datos mediante el uso de macros en Excel?

La siguiente macro nos permite ordenar un rango de datos a medida que ingresamos nuevos registros por fila.

La instrucción a copiar dentro del objeto «Hoja 1» u hoja donde tengamos los datos a ordenar es la siguiente:

 

ORDENAR AUTOMÁTICAMENTE AL CAMBIAR DATOS EN EXCEL

Private Sub Worksheet_Change(ByVal Target As Range)
    
    On Error GoTo fin

    Const ULTIMA_COL = "C"

    If Intersect(Target, Range(ULTIMA_COL & ":" & ULTIMA_COL)) Is Nothing Then GoTo fin

    If Target.Row = 1 Then GoTo fin

    Application.EnableEvents = False

    Dim rng As Range
    Set rng = Range("A1").CurrentRegion

    rng.Sort Key1:=rng.Columns(1), _
             Order1:=xlAscending, _
             Header:=xlYes
fin:
    
    Application.EnableEvents = True
    
End Sub

 

Notar que debemos modificar la línea de código «Const ULTIMA_COL = «C»» por la columna que contenga los últimos datos del rango, y podemos decidir el orden de los datos ascendente o descendente en la línea de código «Order1:=xlAscending, _»

De esta forma logramos ordenar un rango de datos de forma automática y rápida mediante macros en Excel.

 

Te recomiendo ver el siguiente link con más videos de Macros útiles de Excel AQUÍ.

¿No sabés como instalar esta macro? ¡No te preocupes!  Aquí está la solución:

Salvo aclaración, todas las fórmulas y macros de este sitio están configuradas para aplicarse sobre la celda A1. Algunas fórmulas se encuentran encerradas entre llaves {} debido a que son fórmulas matriciales. Estas llaves no deben introducirse tecleándolas, sino que se generan automáticamente al aceptar la fórmula pulsando Control+Shift+Enter al mismo tiempo. Las fórmulas de este sitio son compatibles con versiones de Microsoft Excel® 2010 o superiores. 

Salir de la versión móvil