¿Cómo ordenar automáticamente una columna por valor en Excel?
Por ejemplo, tienes una tabla de compras como se muestra en la captura de pantalla a continuación. Ahora quieres que la columna Precio se ordene automáticamente cuando ingreses nuevos números/precios en esta columna, ¿cómo podrías resolverlo? Aquí te presento una macro VBA para ayudarte a ordenar automáticamente una columna específica por valor en Excel.
Ordenar automáticamente una columna por valor con VBA
Ordenar automáticamente una columna por valor con VBA
Esta macro VBA ordenará todos los datos en una columna específica automáticamente tan pronto como ingreses nuevos datos o cambies un valor en la columna en Excel.
1. Haz clic derecho en el nombre de la hoja actual en la "Barra de pestañas de hojas", y luego haz clic en "Ver código" en el menú contextual.
2. En el cuadro de diálogo "Microsoft Visual Basic for Applications" que se abre, pega el siguiente código de macro VBA en la ventana que aparece.
VBA: Ordenar automáticamente una columna en Excel
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Range("B:B")) Is Nothing Then
Range("B1").Sort Key1:=Range("B2"), _
Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom
End If
End Sub
Nota:
1) En el código VBA anterior, "B:B" significa que se ordenará automáticamente la columna B, B1 es la primera celda de la columna B, "B2" es la segunda celda de la columna B, y puedes cambiarlos según tus necesidades.
2) El fragmento "Header:=xlYes" en la 5ª fila le dice a Excel que el rango que vas a ordenar tiene un encabezado, de modo que la primera fila del rango no se incluirá al ordenar. Si no hay encabezado, cámbialo a "Header:=xlNo"; y cambia "Key1:=Range("B2")" en la 4ª fila a "Key1:=Range("B1")".
3. Luego regresa a la hoja de trabajo, cuando ingreses un nuevo número en la columna Precio o modifiques cualquiera de los precios existentes, la columna Precio se ordenará automáticamente en orden ascendente.
Nota: Cuando ingreses un nuevo número en la columna Precio, debes ingresar el número en la primera celda en blanco debajo de los números originales. Si hay celdas en blanco entre el nuevo número ingresado y los números originales, así como celdas en blanco entre los números originales, esta columna no se ordenará automáticamente.
Demostración: Ordenar automáticamente una columna por valor con VBA en Excel
Ordena fácilmente por frecuencia de apariciones en Excel
La función "Clasificación avanzada" de Kutools para Excel te permite ordenar datos sin esfuerzo por varios criterios, como longitud de texto, apellido, valor absoluto, frecuencia y más.
Kutools para Excel - Potencia Excel con más de 300 herramientas esenciales. ¡Disfruta de funciones de IA gratis permanentemente! Consíguelo ahora
Las mejores herramientas de productividad para Office
Potencia tus habilidades en Excel con Kutools para Excel y experimenta una eficiencia sin precedentes. Kutools para Excel ofrece más de300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haz clic aquí para obtener la función que más necesitas...
Office Tab lleva la interfaz de pestañas a Office y facilita mucho tu trabajo
- Habilita la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abre y crea varios documentos en nuevas pestañas de la misma ventana, en lugar de nuevas ventanas.
- ¡Aumenta tu productividad en un50% y reduce cientos de clics de ratón cada día!