You are on page 1of 13

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

Consolidar varias hojas de Excel


En este artculo voy a detallar cmo 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.
Lgicamente 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
inters, pueda explotar toda la potencialidad de la programacin de macros, para automatizar procesos que
generalmente son largos, tediosos y complejos.
Para este ejemplo entonces vamos a considerar que tenemos un archivo con varias hojas con datos de ventas,
como el que se muestra a continuacin:

Archivo de Ventas
Aqu tenemos varias hojas de nombre ventas1, ventas2, ventas3 y ventas4, con los datos de las ventas,
todas con el mismo nmero de columnas, y al final una hoja de nombre TOTAL, a donde vamos a llevar los datos
de las primeras 4 hojas.
Hoja TOTAL
Los nombres de las hojas no interesan, en esta macro estamos considerando que la ltima hoja siempre ser
donde se consolida todo.
Realizamos entonces los siguientes pasos:
1. Grabamos una macro, y le damos el acceso diercto CTRL + SHIFT + C

Men Grabar Macro Excel


Grabar Macro Excel
2. Copiamos el siguiente cdigo en el editor VBA de Excel. Este cdigo est debidamente comentado para mostrar
qu hace en cada lnea:
Sub Consolidar()
' Consolidar Macro
' Acceso directo: Ctrl+Mays+C
' Funcin 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
consolidacin
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 seleccin
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
ms
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

Vendiendo.co Tienda Online


Esta funcin 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 cmo nos desplazamos entre hojas, y como podemos emular
mediante cdigo, la forma de seleccionar las celdas con datos disponibles.
En conclusin, podemos ver cmo mediante unas pocas lneas de comando, podemos crear una macro de Excel
que nos facilita una tarea de consolidacin, que puede ser larga, tediosa, y propensa a errores durante un copiado
manual.
Hacindole algunas variaciones, podemos llegar a tomar datos de varios archivos que tengamos en un mismo
directorio, para llegar a un consolidado total. En una prxima entrega estaremos revisando esta modificacin.

Macro de Excel para Conciliacin de cuentas bancarias

Conciliacin Bancaria
Este ejemplo de macro que voy a exponerles el da de hoy, es una aplicacin sencilla para hacer una conciliacin
de cuentas bancarias, es decir, comparar para ver que todos los registros que tenemos en contabilidad, se ven
reflejados en movimientos de los extractos bancarios.
Esta macro se encargar de comparar los valores de contabilidad y los bancos, con el fin de mostrarnos dnde hay
coincidencias, y en donde hay diferencias, para que una vez filtradas, podamos empezar a indagar la razn de
estas discrepancias.
Vendiendo.co Tienda Online
Entrando en materia, creamos una hoja de Excel, donde ponemos en la columna A, los datos que tenemos en
Contabilidad, y en la columna C, los datos de los extractos bancarios:

Conciliacin de cuentas bancarias


Creamos un botn al lado de estos datos, para correr la macro cuando tengamos los datos disponibles:

Botn para la conciliacin de cuentas bancarias


Ahora creamos las siguientes macros:
' Macro que se encarga de comparar los datos de de consignaciones en Contabilidad,
' contra los registros de los extractos bancarios

Sub conciliar()

Dim f As Integer, c As Integer, tmp As Integer, j As Integer


Dim encontrado As Boolean
f=2
j=2
tmp = 2

'Se limpian las columnas B y D y se ordenan ascendentemente los datos en las columnas A y C
Call limpiar

' Ahora se recorren uno a uno los registros de contabilidad de la columna A


While (ActiveSheet.Cells(f, 1) <> "")
encontrado = False
j = tmp

' Para cada registro de contabilidad de la columna A, se comparan con los registros
' de bancos en la columna C
While (ActiveSheet.Cells(j, 3) <> "") And Not encontrado And ActiveSheet.Cells(j, 4) = ""
If ActiveSheet.Cells(f, 1) = ActiveSheet.Cells(j, 3) Then

' Una vez se encuentra coincidencia en los valores, se marca en la columna D la fila de coincidencia,
' en contabilidad
encontrado = True
ActiveSheet.Cells(j, 4) = f
tmp = j + 1
End If
j=j+1
Wend

' Si luego de recorrer la columna de bancos, el registro de contabilidad no se encuentra,


' se marca con el smbolo $ en la columna B
If Not encontrado Then
ActiveSheet.Cells(f, 1).Interior.ColorIndex = 6
ActiveSheet.Cells(f, 2) = "$"
End If
f=f+1
Wend

f=2

' Los registros de bancos, no coincidentes, se marcan con un color magenta y el smbolo #
While (ActiveSheet.Cells(f, 3) <> "")
If ActiveSheet.Cells(f, 4) = "" Then
ActiveSheet.Cells(f, 4) = "#"
ActiveSheet.Cells(f, 3).Interior.ColorIndex = 7
End If
f=f+1
Wend

End Sub
Sub limpiar()
'
' Esta macro se encarga de limpiar las columnas B y D, y ordenar en forma ascendente,
' los datos de las columnas A y C
Range("B:B").Select
Selection.Clear
Range("D:D").Select
Selection.Clear
Cells.Select
Selection.Interior.ColorIndex = xlNone
Range("A1").Select
Call ordenacion
End Sub

Sub ordenacion()

'Esta macro ordena en forma ascendente los datos de las columnas A y C


Columns("A:A").Select
Range("A1").Activate
Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlYes _
, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Columns("C:C").Select
Range("C1").Activate
Selection.Sort Key1:=Range("C1"), Order1:=xlAscending, Header:=xlYes _
, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End Sub

Finalmente asignamos la macro conciliar(), al botn Conciliar que creamos en la hoja de excel.

As pues al oprimir el botn Conciliar, obtenemos unos resultados tal y como se muestra a continuacin:
Resultados de la conciliacin de cuentas bancarias
Si filtramos la columna B con el smbolo $, encontramos los registros que estn en contabilidad, pero no se ven en
bancos:

Si ahora filtramos por la columna D con el smbolo #, encontramos los registros de bancos que no estn en la
contabilidad:
Con este ejemplo quise ilustrar la forma en la que un proceso manual de comparacin, se puede automatizar
fcilmente con Excel, para hacer ms rpido el proceso, minimizando la cantidad de errores humanos.

Plantilla de Conciliacin Bancaria en excel


En esta oportunidad presentamos una plantilla elaborada en Excel con macros, que nos ayudar en el proceso de
conciliar el libro bancos y el estado de cuenta del banco.
Es un aplicativo muy sencillo y fcil de usar.
En la primera hoja ingresaremos los datos generales de la empresa.
En la siguiente hoja Libro Bancos copiamos informacin de nuestro libro banco, teniendo en cuenta la estructura
de la hoja.

En la siguiente hoja Estado de Cuenta de Bancos copiamos informacin del estado de cuenta proporcionado por el
banco en formato excel, teniendo en cuenta la estructura de la hoja.
En la hoja Detalle de Conciliacin, se muestra los registros que no han sido conciliados tanto en el libro bancos
como en el estado de cuenta, agrupados por un cdigo.
En la ltima hoja se muestra el resumen de la conciliacin bancaria.
* Si te ha gustado este artculo o archivo y si t crees que nos merecemos un +1, no dudes en hacerlo o comparte
este artculo.
Espero les sea de utilidad, como siempre quedo a la espera de sus sugerencias y comentarios.
Hasta la prxima.

You might also like