Macro final para realizar el Promedio General por cada hoja que suba

Para Elsa Matilde:

Una ayuda para adaptar la macro que sube libros, le he creado una hoja RESUMEN GENERAL y la idea es que la macro haga el calculo del promedio por cada hoja que sube.

La acotación es que la macro debería calcular en base a la cantidad libros que se suba, pueden ser de 2 a más...

Envie el archivo a tu correo.

1 respuesta

Respuesta
2

La fórmula para promediar los valores presentes en celda H15 de cada hoja sería algo así:

=PROMEDIO(nombre_hoja_1!H15; nombre_hoja_2!H15, ........todas las hojas)

Considerando que como comentas puede llegar de 1 a 1000 la macro colocará el resultado en lugar de la fórmula.

Sub calculaPromedio()
'x Elsamatilde
'se arma resumen General
ActiveSheet.Unprotect        'AT.Juan: agregar clave si la hoja está protegida c/clave
For Each sh In ActiveWorkbook.Sheets
    'no se tiene en cuenta hoja1 ni hoja resumen
    If sh.Name <> "Hoja1" And sh.Name <> "RESUMEN GENERAL" Then
        'acumula totales (son 5)
        tot1 = tot1 + sh.[H15]
        tot2 = tot2 + sh.[H17]
        tot3 = tot3 + sh.[H19]
        tot4 = tot4 + sh.[H21]
        tot5 = tot5 + sh.[H23]
        canti = canti + 1       'acumula nro de libros capturados
    End If
Next sh
'vuelca totales en hoja RESUMEN GENERAL, si hay hojas de contratos
If canti > 0 Then
    With Sheets("RESUMEN GENERAL")
        .[H15] = tot1 / canti
        .[H17] = tot2 / canti
        .[H19] = tot3 / canti
        .[H21] = tot4 / canti
        .[H23] = tot5 / canti
    End With
End If
ActiveSheet.Protect        'AT.Juan: agregar clave si la hoja está protegida c/clave
MsgBox "Fin del cálculo."
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas