
En este artículo voy a detallar cómo construir una macro, para consolidar varias hojas de Excel con datos de ventas, para que queden todos en una sola hoja totalizada, sin tener que ir copiando hoja por hoja.
Lógicamente este tipo de macros es aplicable para cualquier tipo de datos que tengamos en hojas de Excel y que queramos consolidar.
El objetivo es poder introducir al lector en el mundo de las macros de Excel, para que una vez le despierte su interés, pueda explotar toda la potencialidad de la programación de macros, para automatizar procesos que generalmente son largos, tediosos y complejos.
Te invitamos a seguir leyendo las siguientes líneas que detallan la construcción de esta macro:
Estructura de los datos
Para este ejemplo entonces vamos a considerar que tenemos un archivo con varias hojas con datos de ventas, como el que se muestra a continuación:

Aquí tenemos varias hojas de nombre «ventas1», «ventas2», «ventas3» y «ventas4», con los datos de las ventas, todas con el mismo número de columnas, y al final una hoja de nombre «TOTAL», a donde vamos a llevar los datos de las primeras 4 hojas.

Los nombres de las hojas no interesan, en esta macro estamos considerando que la última hoja siempre será donde se consolida todo.
Te puede interesar también Encontrar datos repetidos en una tabla de Excel o de una base de datos
Pasos para crear la macro
Realizamos entonces los siguientes pasos:
1- Grabamos una macro, y le damos el acceso diercto CTRL + SHIFT + C


2- Copiamos el siguiente código en el editor VBA de Excel. Este código está debidamente comentado para mostrar qué hace en cada línea:
Sub Consolidar() ' Consolidar Macro ' Acceso directo: Ctrl+Mayús+C ' Función que limpia el contenido consolidado de la última hoja ("TOTAL") Call LimpiarTotal 'Ciclo para recorrer cada una de las hojas con los datos de ventas, excluyendo la última hoja que es la de consolidación For h = 1 To Sheets.Count - 1 'Nos ubicamos en una de las hojas de ventas Sheets(h).Select 'Ubicandonos en la segunda fila de la primera columna Range("A2").Select 'Seleccionando hasta la última columna Range(Selection, Selection.End(xlToRight)).Select 'Seleccionando todo hasta la última fila con datos Range(Selection, Selection.End(xlDown)).Select 'Copiamos la selección Selection.Copy 'Nos ubicamos en la última hoja ("TOTAL") Sheets(Sheets.Count).Select 'Nos ubicamos en la primera celda Range("A1").Select 'Vamos hasta la última fila con datos, si estamos pegando los datos desde la segunda hoja de ventas If h > 1 Then 'Desde la segunda hoja, entonces nos ubicamos en la última celda con datos, y nos desplazamos una fila más Selection.End(xlDown).Select Range("A" & Selection.Row + 1).Select Else 'Si es la primera hoja, entonces nos ubicamos en la segunda fila, de la primera columna, en la hoja TOTAL Range("A2").Select End If 'Pegamos los datos que provienen de la hoja de ventas ActiveSheet.Paste Next End Sub
Esta función se encarga de limpiar el contenido de la última hoja («TOTAL»):
Sub LimpiarTotal() ' ' LimpiarTotal Macro ' ' Nos ubicamos en la última hoja Sheets(Sheets.Count).Select 'Seleccionamos desde la segunda fila, hasta donde hayan datos disponibles Range("A2").Select Range(Selection, Selection.End(xlToRight)).Select Range(Selection, Selection.End(xlDown)).Select Application.CutCopyMode = False ' Se borran los datos existentes Selection.ClearContents ' Nos ubicamos al comienzo de la última hoja Range("A1").Select End Sub
3- Podemos ejecutar la macro presionando las teclas CTRL + SHIFT + C.
4- Al final, esta macro nos permite consolidar varias hojas de Excel de Ventas, en una sola hoja con todos los datos de las ventas.
Lo importante a conocer en este ejemplo, es cómo nos desplazamos entre hojas, y como podemos emular mediante código, la forma de seleccionar las celdas con datos disponibles.
En conclusión, podemos ver cómo mediante unas pocas líneas de comando, podemos crear una macro de Excel que nos facilita una tarea de consolidación, que puede ser larga, tediosa, y propensa a errores durante un copiado manual.
Haciéndole algunas variaciones, podemos llegar a tomar datos de varios archivos que tengamos en un mismo directorio, para llegar a un consolidado total. En una próxima entrega estaremos revisando esta modificación.
También te puede interesar el artículo Macro de Excel para Conciliación de cuentas bancarias
Este artículo hace parte del sistema de divulgación de conocimiento de Vendiendo.co.

Vendiendo.co es un servicio para tu punto de venta, muy sencillo de manejar, muy económico, con grandes prestaciones para ayudarte a crecer tu negocio.
Ven y conócenos hoy mismo en www.vendiendo.co.
Super excelente muchisimas gracias por compartir
Excelente, se lo puede adaptar a cualquier tipo de trabajo