Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado

UDF para Rangos de Celdas

En ocasiones es necesario contar con una UDF que reciba un rangos de celdas como parámetro, para ello se podría emplear alguno de los siguientes ejemplos:

En el primer caso se hace uso de la Ubound, el cual sirve para determinar el tamaño de cada dimensión empleada, mientras que el segundo ejemplo puede resultar mas sencillo de recordar, el cual no requiere de una función para determinar el número de filas y columnas que se reciben como parámetro. El tercer ejemplo es aún mas sencillo y hace uso de una variable objeto.

Estos ejemplo de UDF con rangos pueden ser reutilizados para fórmulas mas complejas.

Public Function misuma2(datos As Range)
Dim vRange As Variant
vRange = datos
'número de  filas
numfilas = UBound(vRange, 1)
'número de columnas
numcolumnas = UBound(vRange, 2)
For x = 1 To numfilas
For y = 1 To numcolumnas
acumula = acumula + datos(x, y)
Next
Next
misuma2 = acumula
End Function

Public Function misuma3(datos As Range)
'número de  filas
numfilas = datos.Rows.Count
'número de columnas
numcolumnas = datos.Columns.Count
For x = 1 To numfilas
For y = 1 To numcolumnas
acumula = acumula + datos(x, y)
Next
Next
misuma3 = acumula
End Function

Function sumarango(rng As Range)
Dim cell As Range
For Each cell In rng
sumarango = sumarango + cell.Value
Next cell
End Function

 

Function sumarango2(rng As Range)
Dim cell As Range
For Each cell In rng
acumula = acumula + cell.Value
Next cell
sumarango2 = acumula
End Function

 

Algunos ejemplos de funciones con rangos de celdas:

  1. Identificar color de celda en Excel
  2. Calcular el coeficiente de variacion de una lista de datos
  3. Función para Sumar Datos por Color
  4. Función para obtener la Desviación Estandar con Ponderaciones Exponenciales
  5. Contar el número de números primos dentro de un rango
  6. Función para Evaluación de Riesgo Ambiental
  7. Sumar solo celdas en Negritas
  8. UDF - bonificación

3 comentarios

  1. Hola, me gustaría saber si es posible que al abrir un nuevo libro y escribir el nombre de mi UDF aparezca, como aparecen las funciones predeterminadas.
    Es decir, puedo usar mis UDF el problema es que al escribir =MiFormula() no me aparece en Excel (Como si no existiera)

  2. Hola, me gustó mucho esta página. Quisera saber si se pueden invocar FDU que devuelvan Objetos. Creé una pequeña función que devuelve las propiedades de un rango (mínimo, máximo, número de elementos, diferencia entre mínimlo y máximo) en un Objeto al que llamé Dominio. Todo está bien desde El editor de VBA, pero no sé cómo invocarla desde Excel

  3. hola, muy buena página. Quisiera saber si se puede hacer una FDU que te regrese un vector o matriz de resultados?

Deja una respuesta

Los campos requeridos estan marcados con *.