/ / Función definida por el usuario en Excel VBA

Función definida por el usuario en Excel VBA

A continuación veremos un programa en Excel VBA que crea un Función definida por el usuario. Excel tiene una gran colección de funciones. En la mayoría de las situaciones, esas funciones son suficientes para hacer el trabajo. De lo contrario, puede crear su propia función llamada Función definida por el usuario o función de Excel personalizada. Puede acceder a una función definida por el usuario como cualquier otra función de Excel.

Queremos crear una función llamada SUMEVENNUMBERS que encuentre la suma de los números pares de un rango seleccionado al azar.

Situación:

Función definida por el usuario en Excel VBA

Las funciones definidas por el usuario deben colocarse en un módulo.

1. Abra el Editor de Visual Basic y haga clic en Insertar, Módulo.

2. Agregue la siguiente línea de código:

Function SUMEVENNUMBERS(rng As Range)

El nombre de nuestra función es SUMEVENNUMBERS. La parte entre los corchetes significa que le damos a Excel VBA un rango como entrada. Nombramos nuestra gama rng, pero puedes usar cualquier nombre.

3. A continuación, declaramos un objeto Range y lo llamamos celda.

Dim cell As Range

4. Queremos verificar cada celda en un rango seleccionado al azar (este rango puede ser de cualquier tamaño). En Excel VBA, puede usar el bucle For Each Next para esto. Agregue las siguientes líneas de código:

For Each cell In rng

Next cell

Nota: la celda se elige al azar aquí, puedes usar cualquier nombre.

5. A continuación, verificamos para cada valor en este rango si es par o no. Usamos el operador Mod para esto. El operador Mod da el resto de una división. Entonces, 7 mod 2 daría 1. 7 se divide por 2 (3 veces) para dar un resto de 1. Habiendo dicho esto, es fácil verificar si un número es par o no. Solo si el resto de un número dividido por 2 es 0, el número es par. 8 mod 2 da 0, 8 se divide por 2 exactamente 4 veces, y por lo tanto 8 es par. Agregue la siguiente instrucción If al bucle For Each Next.

If cell.Value Mod 2 = 0 Then

End If

6. Solo si esta declaración es verdadera, agregamos el valor a SUMEVENNUMBERS. Agregue la siguiente línea de código en la instrucción If.

SUMEVENNUMBERS = SUMEVENNUMBERS + cell.Value

7. No te olvides de finalizar la función (fuera del bucle).

End Function

8. Ahora puede usar esta función, como cualquier otra función de Excel, para encontrar la suma de los números pares de un rango seleccionado al azar.

Resultado:

Resultado de la función definida por el usuario

¡Bien hecho! Eso es lo fácil que son las funciones definidas por el usuario en Excel VBA. Nota: esta función solo está disponible en este libro.

Lea también: