En este artículo, aprenderá a ordenar datos automáticamente por una columna en particular.

[.underline] # Tomemos un ejemplo: # A continuación se muestra una instantánea de los datos que tenemos. Consulte la siguiente instantánea:

img1

Queremos un código que clasifique automáticamente los datos en la columna A mientras escribimos.

Haga clic en la pestaña Desarrollador Desde el grupo Código, seleccione Visual Basic

img2

Ingrese el siguiente código en la hoja en la que está trabajando. (hoja1 en nuestro ejemplo)

Private Sub Worksheet_Change (ByVal Target As Range)

En caso de error, reanudar siguiente

Si no se cruza (objetivo, rango («A: A»)) no es nada, entonces

Rango («A1»). Ordenar clave1: = Rango («A2»), _

Orden1: = xlAscendente, Encabezado: = xlYes, _

OrderCustom: = 1, MatchCase: = False, _

Orientación: = xlTopToBottom

Finalizar si

End Sub

img3

A continuación se muestra el resultado del código anterior.

img4

El código anterior se activará siempre que haya un cambio en la columna A, si desea activar la macro cuando haya algún cambio en la columna B, entonces debe hacer un ligero ajuste

Private Sub Worksheet_Change (ByVal Target As Range)

En caso de error, reanudar siguiente

Si no se cruza (objetivo, rango («B: B»)) no es nada, entonces

Rango («B1»). Ordenar clave1: = Rango («B2»), _

Orden1: = xl Ascendente, Encabezado: = xl Sí, _

OrderCustom: = 1, MatchCase: = False, _

Orientación: = xlTopToBottom

Finalizar si

End Sub

img5

De esta manera, puede ordenar fácilmente los datos por cualquier columna específica. El código se activará y clasificará los datos automáticamente a medida que escribe información en la columna A (en el primer ejemplo) y la columna B (en el segundo ejemplo). Esto ahorrará mucho tiempo si tenemos que ordenar los datos de forma regular.