Es posible que las macros de Excel no sean tan completas como otras herramientas de automatización, pero la validez y eficiencia de Excel VBA no pueden verse socavadas. Si trabaja en Excel y otras herramientas de Microsoft Office como Word y Access, no puede equivocarse con VBA y sus capacidades.

MS Excel es una herramienta poderosa que ofrece un montón de opciones a sus usuarios. Desde almacenar datos hasta crear paneles automatizados, puede hacerlo todo en Excel y sus hojas de cálculo.

Si desea utilizar VBA para automatizar sus responsabilidades de clasificación en Excel, pruebe estas macros eficientes y fáciles de aplicar.

Descargar un conjunto de datos ficticio

Para empezar, puede descargar un conjunto de datos ficticios para trabajar en sus habilidades de macro de Excel.

Tenga la seguridad de que, una vez que domine estas macros y comprenda mejor cómo funcionan las cosas, puede cambiar el código para que se ajuste a sus propias hojas de cálculo para el trabajo o la escuela.

Puede descargar el conjunto de datos utilizado en este artículo si desea seguirlo.

instagram viewer

Descargar: Conjunto de datos de Excel

1. Ordenar una columna con macros de Excel

Utilice este código simple para ordenar una columna de datos dentro de una hoja de cálculo de Excel. Si descargó el conjunto de datos ficticio, puede intentar ordenar la columna E (Unidades vendidas).

Abra un nuevo archivo de Excel y guárdelo con un Libro de Excel habilitado para macros (.xlsm) tipo de libro de trabajo. Este archivo almacenará la macro para ordenar sus datos de otro archivo.

Relacionado: Los mejores cursos en línea para dominar el Excel avanzado

Controlará su (s) archivo (s) desde el archivo de macro, que interactuará con sus libros de trabajo por separado.

Ingrese el siguiente código:

Sub sortwith headers ()
Libros de trabajo ("Muestra financiera.xlsx"). Hojas (1) .Activar
Rango ("A1: P701"). Ordenar Clave1: = Rango ("e1"), Orden1: = xl Ascendente, Encabezado: = xl Sí
End Sub

Donde:

  • Clave1: Defina la (s) columna (s) que desea ordenar
  • Order1: Método de pedido (ascendente / descendente)
  • Encabezamiento: Si su contenido tiene encabezados, esta opción permanecerá como xl Sí. Alternativamente, seleccione xlNo.

El rango constará de la celda inicial y la dirección de la celda final para que todo se capture con fines de clasificación. El resultado es que todo su conjunto de datos se ordenará según los datos de la columna E.

2. Clasificación de datos dinámicos en una sola columna

Puede haber casos en los que se define su punto de partida, pero su punto final es dinámico. En tal caso, puede hacer que su código sea dinámico para que recoja el final del rango automáticamente.

Para adaptarse al cambio en los datos, use el siguiente código:

Sub sortwith headers ()
Libros de trabajo ("Muestra financiera.xlsx"). Hojas (1) .Activar
Rango ("A1", Rango ("A1"). Fin (xlDown)). Sort Key1: = Range ("e2"), Order1: = xlAscending, Header: = xlYes
End Sub

Donde:

  • Fin (xlDown): Esta función seleccionará automáticamente la última celda poblada automáticamente

Nota: Si la fórmula encuentra una celda en blanco dentro de una columna, considerará la celda anterior como el final del rango.

Relacionado: Cómo crear atajos de teclado personalizados en Microsoft Excel

3. Ordenar varias columnas juntas

Puede haber situaciones en las que desee ordenar datos en varias columnas de una sola vez. Para hacerlo, puede utilizar el siguiente código para lograr su propósito:

Sub SortMultipleColumns ()
Con hojas de trabajo ("Hoja1")
Con .Cells (1, "A"). CurrentRegion
.Cells.sort Key1: =. Range ("B1"), Order1: = xlAscending, _
Clave2: =. Rango ("E1"), Orden2: = xlAscendente, _
Orientación: = xlTopToBottom, Encabezado: = xlYes
Terminar con
Terminar con
End Sub

4. Ordenar columnas en varias hojas

Cuando se trata de varias hojas, es posible que desee preparar sus datos para colocarlos en un tablero. Uno de los aspectos más importantes de la preparación de datos es clasificarlos y organizarlos en un formato determinado para presentarlos a sus partes interesadas o clientes.

Una opción es recorrer cada hoja manualmente, ordenar las columnas requeridas y luego continuar con el siguiente paso. Alternativamente, ¿por qué no dejar que VBA lo haga por usted?

La intención del código a continuación es recorrer cada hoja disponible en el libro de trabajo y, según las columnas especificadas, ordenar los datos disponibles.

Relacionado: Funciones de búsqueda de Microsoft Excel para buscar hojas de cálculo de manera más eficiente

A continuación, le indicamos cómo puede ordenar las columnas en varias hojas:

Sub ClasificarWS ()
Dim ws como hoja de trabajo
'Activar la hoja de trabajo deseada
Libros de trabajo ("Muestra financiera.xlsx"). Activar
'Recorra cada hoja de trabajo individual automáticamente usando for loop
Para cada ws en ActiveWorkbook. Hojas
'activar cada hoja de trabajo individual
ws. Activar
'Defina el rango y luego ordene la columna según sus requisitos. En este caso, solo se ordena una columna.
Rango ("A1", Rango ("p1"). Fin (xlDown)). Sort Key1: = Rango ("E1"), Order1: = xlDescending, Header: = xlYes
'Comando utilizado para pasar a la siguiente hoja de trabajo, una vez que se ha ordenado la hoja de trabajo anterior
Siguiente ws
End Sub

Toda la información que comienza con comillas simples son comentarios de VBA. Estos no se ejecutan durante la etapa de ejecución. Sin embargo, cada comentario de VBA que agregue es una adición significativa al código, ya que puede definir la esencia, la funcionalidad y otras partes relevantes dentro de las secciones del código.

5. Copiar datos ordenados de una hoja a otra

Imagine una situación en la que desea ordenar los datos y copiar todo el conjunto de datos (o partes del mismo) en una hoja recién agregada. En tales casos, puede utilizar el siguiente código para realizar la tarea en cuestión:

Sub ClasificarWS ()
Dim ws como hoja de trabajo
'Activar la hoja de trabajo deseada
Libros de trabajo ("Muestra financiera.xlsx"). Activar
'Recorra cada hoja de trabajo individual automáticamente usando for loop
Para cada ws en ActiveWorkbook. Hojas
'activar cada hoja de trabajo individual
ws. Activar
'Defina el rango y luego ordene la columna según sus requisitos.
En este caso, solo se ordena una columna.
Rango ("A1", Rango ("p1"). Fin (xlDown)). Sort Key1: = Rango ("E1"), Order1: = xlDescending, Header: = xlYes
'Comando utilizado para pasar a la siguiente hoja de trabajo, una vez que se ha ordenado la hoja de trabajo anterior
Siguiente ws
'Cree una nueva hoja de trabajo dentro del libro de trabajo para almacenar los nuevos datos
ActiveWorkbook. Hojas. Agregar. Name = "Resultados"
'Copie y pegue los datos ordenados en la hoja recién agregada
Hojas ("Hoja1"). Rango ("A1: p701"). Destino de la copia: = Hojas ("Resultados"). Rango ("a1")
End Sub

El código anterior ordenará los valores en la columna E, agregará una nueva hoja Resultados en el libro de trabajo existente y pegue los resultados ordenados en la celda A1.

Crear macros de clasificación en Excel

Excel VBA es un lenguaje ingenioso que puede ahorrarle mucho tiempo y esfuerzo. Al usar macros de VBA, puede crear paneles extensos, ordenar datos fácilmente con unos pocos clics y realizar diferentes funciones con facilidad.

Afortunadamente, la funcionalidad de Excel no termina con las macros. Consulte algunos consejos y trucos para convertirse en un usuario de Excel más eficiente.

Los 9 mejores sitios web y blogs para aprender trucos y consejos de Excel

Ya sea que sea un maestro en Excel o recién esté comenzando, estos son los nueve sitios web y blogs principales que puede usar para aprender algunos consejos y trucos.

Leer siguiente

CuotaPíoCorreo electrónico
Temas relacionados
  • Programación
  • Microsoft Excel
  • Macros
Sobre el Autor
Gaurav Siyal (8 Artículos publicados)

Gaurav Siyal tiene dos años de experiencia en redacción, escribiendo para una serie de firmas de marketing digital y documentos sobre el ciclo de vida del software.

Más de Gaurav Siyal

Suscríbete a nuestro boletín

¡Únase a nuestro boletín de noticias para obtener consejos técnicos, reseñas, libros electrónicos gratuitos y ofertas exclusivas!

Haga clic aquí para suscribirse