Como es tu primer consulta te resuelvo los 2 temas, pero en próximas consultas debes dejar cada problema en consulta aparte indicando en el título el tema que se resolverá.
Bien, la del promedio por género:
Private Sub prom_sexo_Click()
'x Elsamatilde
'se repite el bucle hasta el total de registros según col A
'obtener la cantidad de registros
canti = Application.WorksheetFunction.CountA(Range("A:A"))
For i = 2 To canti
'se acumulan según sexo las 2 variables: estatura y peso
If Range("C" & i) = "masculino" Then
estaM = estaM + Range("E" & i)
pesoM = pesoM + Range("F" & i)
sumM = sumM + 1
Else
estaF = estaF + Range("E" & i)
pesoF = pesoF + Range("F" & i)
sumF = sumF + 1
End If
Next i
est_hombres.Caption = Round(estaM / sumM, 2)
est_mujeres.Caption = Round(estaF / sumF, 2)
peso_hombres.Caption = Round(pesoM / sumM, 2)
peso_mujeres.Caption = Round(pesoF / sumF, 2)
End Sub
Observa que no dejo de modo fijo el fin del bucle en 5 para permitirte agregar más registros.
Este modelo, de calcular las 2 variables en el mismo bucle también te puede servir para el otro cálculo. Por ahora solo te agregué lo que necesitas para evitar el nro 4:
Private Sub proms_Click()
'ajustada x Elsamatilde
Range("E2").Select
Sum = Range("E2")
For i = 2 To 5
ActiveCell.Offset(1, 0).Select
Sum = Sum + ActiveCell.Value
Next i
'obtener la cantidad de registros-se descuenta la fila de títulos
canti = Application.WorksheetFunction.CountA(Range("A:A")) - 1
est_todos.Caption = Round(Sum / canti, 2)
Range("F2").Select
Sum = Range("F2")
For i = 2 To 5
ActiveCell.Offset(1, 0).Select
Sum = Sum + ActiveCell.Value
Next i
peso_todos.Caption = Round(Sum / canti, 2)
End Sub
La función ROUND redondea la cantidad de decimales, que por ahora quedó en 2.
PD) algunos de tus valores están como texto y así no te darán resultados correctos... si necesitas el método para convertirlos a numeros deja una nueva consulta (podes indicar que es para Elsa en el cuerpo del mensaje)