Excel Avanzado

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

Excel Avanzado
FIG6 150x150, ¿Cómo crear una función en VBA?

¿Cómo crear una función en VBA?

| 6 comentarios

Una función es un código que de manera opcional recibe como entrada un valor o grupo de valores y mediante un proceso regresa un valor de salida.

Excel, dentro de la ficha Programador, permite elaborar funciones propias llamadas UDF. La llamada de estas funciones se realiza de la misma manera que las funciones que ya se encuentran en el Excel, es decir, se escribe el nombre de la función y los valores que serán tomados como parámetros.  Asimismo, la función puede ser llamada en el lugar donde se requiera el valor de salida.

Ejemplo:

La primera línea del código para crear la función contiene la palabra Function seguida del nombre de la función y los paréntesis en los que se colocó el parámetro que requiere la función.

En la última línea se cierra el código con End Function.

FIG1 300x51, ¿Cómo crear una función en VBA?

(Para mayor visualización de  la imagen, hacer click en la misma)

Entre la primera y última línea se escribe el proceso que nos permitirá obtener un valor de retorno. En este caso, el código escrito permite obtener el término enésimo de la serie Fibonacci: 0,1,1,2,3,5,8...

Cada término de la serie se origina al sumar los 2 términos anteriores y se empieza la serie con los números 0 y 1 almacenados en las variables resultadoant y resultado respectivamente. De esta manera, el tercer término se obtiene de la suma de 0+1 y se almacena en la variable resultadonuevo. Con una lógica For… Next se logra que se repita la suma hasta llegar al elemento deseado. (Se comienza desde el tercer término porque los 2 anteriores son valores almacenados previamente)

FIG21 300x89, ¿Cómo crear una función en VBA?

(Para mayor visualización de  la imagen, hacer click en la misma)

Por otro lado, para reportar el valor de la serie Fibonacci, se colocó una lógica If…Else…End If que muestre el valor para el primer término que es igual al valor inicial, el cual se almacenó en la variable resultadoant (0) y para los demás valores, es igual a la variable resultado.

FIG3 300x33, ¿Cómo crear una función en VBA?

(Para mayor visualización de  la imagen, hacer click en la misma)

En el presente ejemplo, se crearon 2 UserForms:

El primero se muestra al abrir el archivo de Excel y sirve para darle la bienvenida al usuario al programa.  Además, cuenta con un botón COMENZAR para iniciar con el programa.

FIG5, ¿Cómo crear una función en VBA?

El segundo se muestra al dar click sobre el botón de la Hoja1 : Serie Fibonacci. En este UserForm, se solicita el número del término de la serie Fibonacci que se requiere. Al dar click en el botón Calcular, el programa emplea la Función creada para dar como resultado el valor en una caja de texto y almacena la consulta en la Hoja1. Asimismo, cuenta con un botón Cerrar para acabar con las consultas.

FIG4 300x178, ¿Cómo crear una función en VBA?

(Para mayor visualización de  la imagen, hacer click en la misma)

Además, muestra un mensaje de Error si no se ingresa un valor válido.

FIG6, ¿Cómo crear una función en VBA?

En el siguiente archivo se presenta el código para obtener los valores de la serie.

Cómo crear una función en VBA

Artículo escrito por: Piero Arbulú Zumaeta

6 comentarios

Deja una respuesta

Los campos requeridos estan marcados con *.