Consolidar varias hojas de Excel con datos de ventas en una sola hoja

Consolidar varias hojas de Excel
Consolidar varias hojas de Excel

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:

Archivo de Ventas
Archivo de Ventas

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.

Hoja TOTAL
Hoja TOTAL

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

Menú Grabar Macro Excel
Menú Grabar Macro Excel
Grabar Macro Excel

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 Software POS
Vendiendo Software POS

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.


Si te gustó este artículo, por favor no olvides compartirlo en las redes sociales. Thnks 😉

2 comentarios

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *