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