Funciones definidas por el usuario en Excel

Quiero agregar una función en Excel para que aparezca en la categoría
Funciones Definidas por el usuario, pero no se cómo hacerlo ¿me podeis
ayudar?


Para crear funciones definidas por el usuario en Excel siempre debemos crear un módulo en el editor de Visual Basic con el código de la función.

Una vez creada la función su nombre aparecerá automáticamente al acceder al menú Insertar > Función, en la categoría Definidas por el usuario.

Para acceder al Editor de Visual Basic desde nuestro libro de Excel pulsamos la combinación de teclas Alt + F11 o accedemos mediante el menú Herramientas > Macro > Editor de Visual Basic:


Una vez dentro del editor accedemos al menú Insertar > Módulo

Escribimos el siguiente código:


Veamos la explicación del código:

Function: es la sentencia que nos permite crear una función.
Ecuacion: es el nombre de la función
Entre paréntesis escribimos los parámetros que vamos a pasar a nuestra función, en nuestro caso son tres parámetros que hemos denominado a, b y c. Cerramos paréntesis.
As Double indica que la ecuación nos va a devolver un número que puede tener decimales.

Ecuacion = (a + b) * c nos devuelve el cálculo resultado de la función

End Function: es la sentencia que termina la función


Guardamos el módulo y cerramos el editor.

En nuestro archivo de excel escribimos los siguientes valores:




Nos situamos en la celda C1 y accedemos al menú Insertar > Función, en la categoría Definidas por el usuario estará la función anteriormente creada.




Seleccionamos la función Ecuación y en cada argumento seleccionamos las referencias de las celdas adecuadas:

Para finalizar pulsamos aceptar.

Hemos utilizado así una función definida por nosotros mismos.

10 comentarios:

Anónimo dijo...

hola, como hago para colocar la descripcion de una funcion? y para que cuando este colocando los paramentros, me muestre los nombres, por ejemplo, cuando uno coloca la funcion suma, excel automatica mente muestra, calcula la suma de numeros, y en los paramentros sale SUMA(numero1, numero2, ....)

cuando hago mis funciones, ni sale la descripcion, ni los nombres de los parametros.

gracias

Claudia Castellano dijo...

Hola, James

Para dar nombre de los parámetros, solo has de establecerlos una vez definida la función. En el ejemplo de este post si observas el código Function Ecuacion(a,b,c), tendrías que escribir el nombre ahí y definir el tipo de datos.
En cuanto a la descripción de la función es algo más complejo ya que para documentar una función has de recurrir a librerias dll, funciones xlregister y funciones XLM ( No confundir con XML). No obstante, si solo quieres que aparezca la descripción de la función y no de todos sus argumentos podemos utilizar algo de código VBA que llame a las opciones de macro. Publicaremos una nota futura al respecto.
Muchas gracias por ponerte en contacto con nosotros.

Anónimo dijo...

Saludos.
James f. Maestre

Para colocarle una descripción a las funciones definidas por el usuario, debes mostrar el cuadro de las macros (este cuadro no muestra las funciones, pero no importa), luego escribes el nombre de la función y verás como el botón Opciones se activa, pulsalo y en la descipción escribes lo que la función hace, acepta todo y cuando actives el cuadro de las funciones y selecciones tu función podrás leer la descripción que le asignaste.

Anónimo dijo...

Muchas gracias por tu comentario Ramón. Lo agradecemos sinceramente. Publicamos una nota al respecto el día 11 de agosto.

Gracias por visitarnos

Anónimo dijo...

hola, tengo una hoja de calculo que convierte un numero en texto y quiero hacer de esta hoja de calculo una funcion o una macro, la pregunta del millon es como lo hago, saludos....

Aladino dijo...

Hola, Anónimo

Suponemos que lo que quieres es automatizar la función que has creado en la hoja de cálculo. Has de utilizar código VBA. Puedes enviarnos a 5incoaprendices@gmail.com tu hoja y te indicamos como convertirla.

Muchísimas gracias

Kanelo dijo...

Gracias, este post me ahorró mucho trabajo.
Felicitaciones por el blog.
Saludos.

Claudia Castellano dijo...

Muchas gracias a ti por visitar nuestro blog. Nos alegramos de que te haya servido.
Un saludo

Néstor dijo...

Hola, de esta forma solo es posible ver la funcion desde este libro, en el que se ha guardado, si yo quiero tener esa fincion disponible en cualquier libro.... donde o como hay que guardar?

Un saludo, gracias

Unknown dijo...

Hola, Néstor

Tienes dos opciones: Guardar el libro como complemento e instalarlo o escribir el código en un módulo de VBAProject(Personal.XLSB) en vez de en tu libro. Así puedes aplicar la función a todos los libros.

Gracias por leernos :)

Publicar un comentario

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Top WordPress Themes