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:
TUTORIALSalvo 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.
