Home > Fórmulas y funciones, vba > Crear funciones personalizadas en Excel

Crear funciones personalizadas en Excel

Una función, primeramente, es una fórmula predefinida en Excel que opera sobre uno o más argumentos. Por ejemplo: SUMA, PROMEDIO, BUSCARV, son funciones propias de la aplicación que cumplen con un objetivo específico. En esta ocasión veremos cómo crear funciones personalizadas en Excel, es decir, con nombres que nosotros mismo definamos. Crearemos tres funciones, obtenerComentario, colorCelda y calculoAreaCirulo.

Primeramente creamos un libro de Excel y nos vamos con el atajo Ctlr + F11 al IDE de Visual Basic para aplicaciones. Dentro del editor, en la parte izquierda ubicamos el VBAProject con el nombre de nuestro archivo. Damos click derecho e insertamos un módulo nuevo. Al crear el módulo nuevo, nos aparecerá un área en blanco donde escribiremos nuestras funciones.

image

Dentro del área en blanco, escribiremos las siguientes líneas. Recordemos que el texto verde son los comentarios explicativos:

Function obtenerComentario(celda As Range)
obtenerComentario = celda.Comment.Text
'Esta función nos permitirá obtener el comentario de la celda en cuestión
End Function
'
Function colorCelda(celda As Range)
colorCelda = celda.Interior.ColorIndex
'Esta función nos permitirá saber el número de índice del color de la celda.
'Útil para ordenar por colores.
End Function
'
Function calculoAreaCirculo(radio As Long)
calculoAreaCirculo = 3.1416 * radio ^ 2
'Esta función nos permite calcular el área de un círculo.
'El único argumento que nos pide es el radio, ya que el PI y el cuadrado vienen dentro de la misma función
End Function

Para definir que es una función, utilizamos la palabra reservada Function. Y los argumentos aparecen dentro de los paréntesis.

Para poder utilizar estas funciones en Excel, basta con escribir dentro del mismo archivo el nombre de la función creada y entre paréntesis la celda que queramos calcular. Por ejemplo:

=obtenerComentario(A1)

=colorCelda(A2)

=calculoAreaCirculo(A3)

En la celda A1 hay agregado un comentario, la celda A2 tiene color de fondo y en la celda A3 está el valor del radio del círculo.

:: Descargar el ejemplo

  1. humberto
    October 14, 2011 at 12:45

    Hola, yo tengo algunas funciones personalizadas de excel y las uso bastante. Pero quisiera que al ingresar la fórmula por teclado en alguna celda cualquiera, excel me muestre los argumentos de la misma…
    ¿se puede hacer eso?

    gracias

    • sergioacamposh
      October 16, 2011 at 10:13

      Se puede, pero tendrá que ser mediante programación de macros. De qué tipo son tus fórmulas/funciones ??

  2. Andres
    December 9, 2011 at 09:18

    Sergio Buenos dias, me parece muy interesante el articulo sobre las funciones personalizadas. Sería bueno que ahondaran mas en la pregunta de Humberto ya que tambien me gustaria saber. ¿Como colocarle los argumentos a las funciones personalizadas en Excel?

    Muchas Gracias.

  3. Jorge
    February 25, 2012 at 16:45

    Saludos, la creacion de funciones personalizadas en Excel es bastante fácil, dejo un ejemplo:

    Function Producto(a, b, c)
    Producto = a*b*c
    End Function

    En la primera linea indicas el nombre de tu función “Producto”
    Entre parentesis ingresas los parametros que debe contener a,b y c.
    En la linea 2 tienes que indicar que calculará tu funcion, en este caso calculará a*b*c

    Espero les ayude,

  1. December 29, 2011 at 22:04
  2. November 24, 2012 at 20:30

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s