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:
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
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.
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.
Muchas gracias por tu comentario Ramón. Lo agradecemos sinceramente. Publicamos una nota al respecto el día 11 de agosto.
Gracias por visitarnos
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....
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
Gracias, este post me ahorró mucho trabajo.
Felicitaciones por el blog.
Saludos.
Muchas gracias a ti por visitar nuestro blog. Nos alegramos de que te haya servido.
Un saludo
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
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