Nuestra función recibirá un rango de celdas como parámetro y devolverá la media del rango seleccionado.

Para ello crearemos un módulo de VBA, tal y como se indica en el apartado Crear un función personalizada (UDF). Una vez creado el módulo, añadiremos el siguiente código:
Public Function MediaRango(Rango As Range) As Double
Dim intRowsInRange As Integer
Dim intColsInRange As Integer
Dim intRow As Integer
Dim intCol As Integer
Dim intItems As Integer
' Obtenemos el número de filas y columnas del rango seleccionado
MediaRango = 0
intintems = 0
intRowsInRange = Rango.Rows.Count
intColsInRange = Rango.Columns.Count
' Recorremos las filas del rango
For intRow = 1 To intRowsInRange
' Recorremos las columnas del rango
For intCol = 1 To intColsInRange
MediaRango = MediaRango + Rango.Cells(intRow, intCol).Value
intItems = intItems + 1
Next intCol
Next intRow
' Calculamos la media del rango
MediaRango = MediaRango / intItems
End Function
Ahora ya sólo nos queda salvar la función y usarla desde nuestra hoja Excel. Para ello bastará con llamarla desde cualquier celda de nuestra hoja indicándole el rango de celdas del cuál deseamos calcular la media.
= MediaRango(B1:B3)
Una vez invocada la función nos aparecerá la media del rango seleccionado.
No hay comentarios:
Publicar un comentario