Macro para sumar la misma celda de varios libros y aplicarla a todas las hojas del libro.

Tengo una carpeta con 30 libros iguales. Cada libro contiene 52 hojas. Necesito una macro para sumar la misma celda ("j13") de la primera hoja de los 30 libros. Luego avanzar al siguiente renglón y aplicar la misma suma hasta llegar al renglón 1512. Ya que finalice la suma de los 1512 renglones, se pase a la siguiente hoja y repita el proceso hasta aplicarlo a las 52 hojas del libro. Es un archivo que consolida información de ventas por semana de distintas sucursales.

1 Respuesta

Respuesta
1

Te mando mi solución: Dices que hay que sumar desde la J13 hasta la J1512 por lo que el resultado lo pondremos en la J1513. Abre un libro nuevo de excel y copia la siguiente macro en uno de sus modulos, después lo grabas con el nombre zzzz.xlsm en la misma carpeta de los 30 archivos. Seguidamente solo tienes que ejecutar la macro y listo!.

Esta macro te abrirá te abrirá cada uno de los 30 archivos y dejará puesta la suma de dichas celdas.

Sub parciales()
ruta = ActiveWorkbook.Path
ChDir ruta & "\"
archi = Dir("*.xls*")
Do While archi <> "zzzz"
Workbooks.Open archi
For Each hoja In ActiveWorkbook.Sheets
hoja.Select
Range("j1513").Value = Application.WorksheetFunction.Sum(Range("j13:j1512"))
Next
ActiveWorkbook.Close True
archi = Dir()
Loop
End Sub

recuerda finalizar y puntuar la consulta

Mil Gracias.....mi idea es que en la celda "J13" del libro Consolidado, en la "HOJA1" (todos los libros son iguales, incluso el libro que consolida). muestre la suma de las celdas "J13" de cada una de las "HOJA 1" de los 30 archivos, luego la celda "J14" muestre la suma de las celdas "J14" de cada una de la HOJA 1 de los 30 archivos y así hasta llegar al renglón 1512..... ¿por favor me podrás ayudar?.....

Libro 1...Sucursal X

Hoja 1....Semana 1

Celda a13 = Modelo Celda J13=Piezas Vendidas

Celda a14= Modelo Celda J14= Piezas Vendidas

Libro 2....Sucursal Y

Hoja 1....Semana 1

celda a13= Modelo Celda J13= Piezas Vendidas

celda a14=Modelo celda J14=Piezas Vendidas

Libro Consolidador.....Suma de datos de 30 libros

Hoja 1...Semana 1

Celda a13= Modelo Celda J13= Piezas vendidas en las 30 sucursales

Celda a14= Modelo Celda J14= Piezas vendidas en las 30 sucursales

Al finalizar la semana tiene que pasar a la semana siguiente y repetir la operación.

La idea es contar con un detalle de ventas por sucursal y un resumen de las 30 tiendas con el detalle de cada uno de los modelos vendidos.

El archivo contiene un catálogo que ya está definido.

Intenté vincular con la forma tradicional directamente en la celda, pero los enlaces hacen pesar al archivo hasta 130 mb lo que resulta inoperante.

De antemano gracias.

En ese caso prueba con esta macro y sigue las mismas instrucciones que te mandé en el otro post:

Sub parciales()
ruta = ActiveWorkbook.Path
ChDir ruta & "\"
fila = 13
For x = 1 To 30
archi = Dir("*.xls*")
Do While archi <> "zzzz"
Workbooks.Open archi
Sheets(1).Select
suma = suma + Cells(fila, 10).Value
ActiveWorkbook.Close False
archi = Dir()
Loop
Cells(fila, 10).Value = suma
fila = fila + 1
Next
End Sub

Gracias de nuevo.

He realizado tus instrucciones y al ejecutar la macro, abre los archivos. Al final la hoja ZZZZ.xlsm no muestra el resultado de las sumas de cada reglón.

Puedo instalar la macro en mi archivo que consolida en un módulo y que el resultado aparezca en la misma celda que de donde se obtuvieron los datos???

hola de nuevo.

Revisé como ejecuté la macro.Hice una modificación, cambie el valor 30 por 1512 para que así me sume los 1512 renglones......pero veo que el proceso implica abrir el archivo sumar el renglón, luego cerrar el archivo y seguir con la siguiente sucursal.....se puede ejecutar con los libros cerrados..???

Sub parciales()
ruta = ActiveWorkbook.Path
ChDir ruta & "\"
fila = 13
For x = 1 To 1512........esto es lo que modifiqué
archi = Dir("*.xls*")
Do While archi <> "zzzz"
Workbooks.Open archi
Sheets(1).Select
suma = suma + Cells(fila, 10).Value
ActiveWorkbook.Close False
archi = Dir()
Loop
Cells(fila, 10).Value = suma
suma=0..........esto lo agregué

fila = fila + 1
Next
End Sub

No, solo es posible abriendo y cerrando los libros.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas