Sumar celdas de varias hojas

Tengo que sumar diferentes celdas de varias hojas siempre están en la misma columna y linea en todas las hojas, el problema está en que el archivo me esta creando por medio de un macro hojas nuevas, ahora tengo la siguiente fórmula:
=SI((B35<>"");SUMA(¡hoja1:hoja20!K35);FALSO),
Pero en cuando me inserta la macro la hoja 21,(al final)ya no la suma.
Que fórmula o macro puede ser para que me sume todas las hojas independiente de el numero de hoja.

1 respuesta

Respuesta
1
Lo que te puede resolver el problema es que tengas fijas dos hojas digamos la hoja con el nombre "inicio" y la hoja con el nombre "final"; y que cuando agregues una nueva hoja con tu macro, la coloques entre estas dos
Sheets.Add Before =: Sheets("final")
Teniendo esto, solo modifica tu fórmula de suma para que lo haga de "inicio" a "final".
Elías
Si, pero por favor indicame en esta macro donde inserto la linea y que tendría que quitar de esta macro.-
Sub GuardaHistPre()
'Copia a otro archivo la hoja de presupuesto ya terminado con los valores sin formulas
Carp_dest = "c:\temp"
Arch_Desd = "historial"
Hoja_orig = "Datos"
With Application
.StatusBar = "Actualizando historial. Un momento, por favor"
.ScreenUpdating = False
.Calculate
Carp_dest = Carp_dest & IIf(Right(Carp_dest, 1) = "\", "", "\")
Arch_Desd = Arch_Desd & IIf(Right(Arch_dest, 4) = ".xls", "", ".xls")
Workbooks.Open Carp_dest & Arch_Desd
ActiveWindow.ActivatePrevious
Sheets(Hoja_orig).Copy After:=Workbooks(Arch_Desd).Sheets(Workbooks(Arch_Desd).Sheets.Count)
Cells.Copy
Cells.PasteSpecial Paste:=xlValues
Application.CutCopyMode = False
Range("A1").Select
Sheets(Sheets.Count).Name = "" & Sheets.Count
'Sheets.Add Before =: Sheets("final")
ActiveWorkbook.Close True
.StatusBar = False
.ScreenUpdating = True
Para que te funcione, ya que hayas agregado las hojas "inicio" y "final", cambia de tu macro el renglón
Sheets(Hoja_orig).Copy After:=Workbooks(Arch_Desd).Sheets(Workbooks(Arch_Desd).Sheets.Count)
por el renglón
Sheets(Hoja_orig).Copy After:=Workbooks(Arch_Desd).Sheets(Workbooks(Arch_Desd).Sheets.Count-1)
Después de esto, todas las hojas que vayas agregando se irán colocando una antes de "final".
Por supuesto, debes colocar "inicio" como la primera hoja del libro y "final" como la última hoja.
Si aún tienes problemas con esto no dudes volver a preguntar.
Elías

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas