A continuación, veremos un programa en Excel VBA que crea una función definida por el usuario . Excel tiene una gran colección de funciones. En la mayoría de situaciones, esas funciones son suficientes para realizar el trabajo. De lo contrario, puede crear su propia función denominada Función definida por el usuario o función personalizada de Excel . 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 corchetes significa que le damos a Excel VBA un rango como entrada. Nombramos nuestro rango rng, pero puede 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 ciclo 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í, puede 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. Por ejemplo, 7 mod 2 = 1 porque 7 dividido por 2 es igual a 3 con un resto de 1. Dicho esto, es fácil comprobar 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. Por ejemplo, 8 mod 2 = 0 porque 8 dividido por 2 es igual a 4 con un resto de 0. Agregue la siguiente instrucción If al ciclo For Each Next.

If cell.Value Mod 2 = 0 Then

End If

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

SUMEVENNUMBERS = SUMEVENNUMBERS + cell.Value

7. No olvide finalizar la función (fuera del ciclo).

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! Así de fáciles son las funciones definidas por el usuario en Excel VBA. Nota: esta función solo está disponible en este libro de trabajo.

2/5 Completado! Más información sobre funciones y subs>
Capítulo siguiente: Objeto de aplicación