La clasificación personalizada en Excel es una característica muy útil. En este artículo, hablaremos sobre cómo actualizar automáticamente la ordenación personalizada en un rango utilizando Excel VBA.
Cuando use la clasificación personalizada, encontrará que esta es una característica sorprendente en Excel. Sin embargo, si usa esta función con frecuencia, también puede encontrar un problema. Ordenará en un rango con ciertos datos e información. Cuando agrega datos e información adicionales al rango, el orden en el rango no cambiará automáticamente. La siguiente imagen muestra un ejemplo de tal condición.
Cuando agrega un nuevo conjunto de datos al rango, no cambiará el rango automáticamente. Si aún desea ordenar este rango más grande con un nuevo conjunto de datos según los mismos criterios, debe realizar el proceso de ordenación personalizada nuevamente. Puede ver que esto es muy problemático, especialmente cuando necesita actualizar constantemente los datos y la información en la hoja de trabajo. Cada vez que agrega nueva información al rango, debe ordenar nuevamente. Para resolver este problema y terminar su tarea rápidamente, puede continuar leyendo este artículo.
Grabar macro
Cuando los criterios de clasificación personalizada son muy complejos, le resultará difícil escribir los códigos VBA directamente. Por lo tanto, ahora puede grabar primero una macro. Y los códigos de esta macro se pueden utilizar en otras macros. El proceso de grabación de códigos es muy sencillo.
- Antes de grabar una macro, debe agregar la pestaña de VBA en la cinta. Aquí, haga clic derecho en cualquiera de las pestañas de la cinta.
- Y luego elija "Personalizar la cinta" en el menú.
- Ahora en la ventana "Opciones de Excel", marque la opción "Desarrollador" en la lista de "Pestañas principales".
- Después de eso, haga clic en "Aceptar" en la ventana. Por lo tanto, ha agregado la pestaña en la cinta.
- Ahora volverá a la hoja de trabajo. Haga clic en la pestaña "Desarrollador" que ha agregado.
- Y luego haga clic en el botón "Grabar macro" en la barra de herramientas. Por lo tanto, aparecerá la ventana "Grabar macro".
Por otro lado, también puede hacer clic en el botón pequeño en la parte inferior de la hoja de trabajo para reemplazar los 6 pasos anteriores.
- Ahora, en la ventana "Grabar macro", ingrese el nombre en el primer cuadro de texto. Asigne una tecla de método abreviado si lo necesita. Y luego agregue la descripción según su necesidad.
- A continuación, haga clic en "Aceptar". Por lo tanto, la macro comienza a registrar cada operación que realiza.
- Seleccione el rango que necesita ordenar en la hoja de trabajo.
- Haga clic en la pestaña "Inicio".
- Y luego haga clic en el botón "Ordenar y filtrar" en la cinta.
- En la lista desplegable, elija la opción "Orden personalizado".
- En la ventana "Ordenar", establezca los criterios de acuerdo con su necesidad. Todas las acciones se registrarán en la macro.
Cuando esté grabando una macro, no realice pasos adicionales. De lo contrario, esos pasos también se registrarán. Y esto causará problemas en la siguiente parte.
- Después de finalizar la configuración en la ventana "Ordenar", haga clic en "Aceptar" para guardar la configuración.
- Ahora haga clic en la pestaña "Desarrollador" en la cinta nuevamente.
- Y luego haga clic en el botón "Detener grabación". Cuando la hoja de trabajo esté en condiciones de grabar macros, el botón cambiará a "Detener grabación".
También puede hacer clic en el botón en la parte inferior de la hoja de trabajo para detener la grabación de la macro. Por lo tanto, ha terminado la grabación. Todos los criterios de clasificación se han guardado en la Macro 1.
Usar macros de Excel VBA
En esta parte, le mostraremos cómo usar macros de VBA para actualizar la ordenación personalizada en su hoja de trabajo. Y también utilizará las macros grabadas en esta parte.
- Haga clic en la pestaña "Desarrollador" en la cinta.
- Y luego haga clic en el botón "Visual Basic" en la barra de herramientas. En su lugar, también puede presionar el botón "Alt + F11" en el teclado para reemplazar los 2 pasos.
- En el editor de Visual Basic, haga doble clic en la hoja en el área "VBAProject". En esta hoja, debe actualizar la clasificación personalizada. Y en su archivo real, debe hacer doble clic en la hoja correspondiente.
- Ahora ingrese los siguientes códigos en el área.
Private Sub Worksheet_Change(ByVal Target As Range) End Sub
- Y luego ingrese los siguientes códigos entre las dos oraciones VBA anteriores.
Application.ScreenUpdating = False
If Not Intersect(Target, Range("A1:C13")) Is Nothing Then
End If
Aquí se estima el rango. Habrá 12 meses para el volumen de ventas y, junto con la primera fila del encabezado, ingresamos el rango “A1: C13”. También puede ingresar el rango en los códigos de acuerdo con su hoja de trabajo real.
- En este paso, abra el módulo 1 en el editor. Los códigos de este módulo son el proceso de clasificación personalizada que ha realizado anteriormente. Puede ver que el uso de la función de grabación de macros puede ahorrarle mucho tiempo.
- Ahora copie la parte principal de este módulo.
- A continuación, haga doble clic en la hoja de destino en la sección "VBAProject".
- Después de eso, pegue los códigos en los códigos IF-END IF.
- Y luego modifique el rango en los códigos según su necesidad. La macro grabada es un poco complicada y redundante. También puede modificarlo según su necesidad. Por lo tanto, los códigos VBA completos serán así:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
If Not Intersect(Target, Range("A1:C13")) Is Nothing Then
With ActiveWorkbook.Worksheets("Sheet1").Sort
.SortFields.Clear
.SortFields.Add Key:=Range("B2:B13"), _
SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
.SortFields.Add Key:=Range("C2:C13"), _
SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
End With
With ActiveWorkbook.Worksheets("Sheet1").Sort
.SetRange Range("A1:C13")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End If
End Sub
Agregamos otro WITH-END WITH en los códigos. Por lo tanto, será más claro que el resultado récord. Si tiene otros requisitos, también puede modificarlos de acuerdo con sus necesidades reales. Debe tener cuidado al modificar los códigos. De lo contrario, producirá un resultado incorrecto en la hoja de trabajo.
- Ahora ha terminado los códigos VBA en el editor. Puede volver a la hoja de trabajo y probar el resultado. Cuando agregue el mes siguiente y los números correspondientes en el rango, la clasificación personalizada se actualizará automáticamente.
Por lo tanto, no necesitará actualizar manualmente la ordenación personalizada cada vez que introduzca nuevos elementos en el rango de destino. Sin embargo, debe guardar este libro de trabajo como un archivo de Excel habilitado para macros. De lo contrario, perderá el código si lo guarda como un archivo normal.
Brindaremos asistencia a las víctimas de corrupción de Excel
Todos sabemos que Excel es muy poderoso y puede ayudarlo a terminar su trabajo rápida y fácilmente. Pero la aplicación de Excel todavía está lejos de ser perfecta. A veces, Excel se corrompe debido a muchas razones diferentes. Una vez que Excel se corrompe, no podrá finalizar sus tareas con esta aplicación. Para que funcione mejor, deberá repararlo lo antes posible.
Nuestra empresa lleva muchos años trabajando en el área de recuperación, especialmente la recuperación de Excel. Por lo tanto, puede acudir a nuestro personal técnico para obtener ayuda. Con años de experiencia, podemos descubrir fácilmente la razón por la que se dañan sus archivos. Y para ayudarte mejor reparar el daño del archivo Excel xlsx, hemos desarrollado una herramienta de terceros. Esta herramienta es muy fácil de manipular y no necesita preocuparse por el problema de la privacidad.
Introducción del autor:
Anna Ma es una experta en recuperación de datos en DataNumen, Inc., que es el líder mundial en tecnologías de recuperación de datos, incluyendo reparar error de Word docx y productos de software de reparación de Outlook. Para más información visite www.datanumen.com









