Inicio > Microsoft Excel > elias04bar > Sumar celdas de varias hojas

Sumar celdas de varias hojas

Experto:
Usuario:
Fecha: 01/09/2003
Valoración: (3,00 sobre 5) Categoría: Microsoft Excel
25/07/2003
rlucia, usuario preguntando en Microsoft Excel
Usuario
Tengo que sumar diferentes celdas de varias hojas siempre estan 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 formula:
=SI((B35<>"");SUMA(¡hoja1:hoja20!K35);FALSO),
pero en cuando me inserta la macro la hoja 21,(al final)ya no la suma.
que formula o macro puede ser para que me sume todas las hojas indepediente de el numero de hoja.
25/07/2003
rlucia, experto respondiendo en Microsoft Excel
Experto
Hola rlucia:
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 formula de suma para que lo haga de "inicio" a "final".

Elías
28/07/2003
rlucia, usuario preguntando en Microsoft Excel
Usuario
Si, pero por favor indicame en esta macro donde inserto la linea y que tendria 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
28/07/2003
rlucia, experto respondiendo en Microsoft Excel
Experto
Hola rlucia:
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)

Depué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
01/09/2003
rlucia, usuario preguntando en Microsoft Excel
Usuario
Bien. Una respuesta aceptable.
Enlaces patrocinados