Función con argumentos variables

Me gustaría saber si se puede hacer una función que hiciera un calculo con un numero de celdas variable.
Como la función suma, que admite un rango y calcula la suma, querría saber como hacer una función con VBA que hiciera la suma de los cubos de un rango, y que esta función pudiese admitir diferentes números de celdas.
Gracias
Respuesta
1
Ayer quise enviarte esta respuesta pero el sitio no respondía.
Si fui capaz de entender correctamente tu necesidad, creo que una Función Definida por el Usuario (UDF) podría satisfacerla.
Activa el editor de Visual Basic (presiona Alt+F11), inserta un nuevo módulo ("Insertar", "Módulo") y pega el siguiente código:
Function SumaPot(ElRango as Range, Pot as Long) as Long
Application.volatile
For Each celda in ElRango
SumaPot = SumaPot + Application.Worksheetfunction.Power(celda, Pot)
Next
End Function
Cierra el editor y graba el archivo.
Bien, ahora tu archivo dispone de una fórmula más que devuelve en una celda la sumatoria de las potencias de los números en el rango que le indiques.
Así si este estuviese en el rango A4:A80, escribe en otra celda, lo siguiente:
=SUMAPOT(A4:A80,3)
Y obtendrás la suma del los cubos de ese rango.
Si tuvieras los catetos y cambias el tres por un dos, esta fórmula te daría la hipotenusa. Es decir, puedes indicarle qué exponente te interesa utilizar.
Al ser una fórmula, puedes tratarla como tal. Esto es puedes copiarla para otras celdas, liuego pegarla como valor, etc.
- Ingresa al sitio www.porloschicos.com y, si quieres,
presiona el botón de donación (es gratis).
Confío en que lo harás.
Gracias, eso es exactamente lo que quería. Había hecho funciones definidas por mi, pero siempre de variables numéricas, nunca de rangos y no se me ocuria el foreach utilizando un rango
Gracias de nuevo por tu tiempo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas