Agregar descripciones a funciones creadas en VBA

Hace un par de meses escribí un articulo sobre como crear tus propias funciones y utilizarlas en tu hoja de calculo, y Esteban (uno de mis lectores), pregunto como agregar las descripciones a esas funciones. Ahora veremos como hacerlo.

Primero quizá quieras leer el articulo original, haciendo clic aquí en ese articulo mostramos como crear una función propia y ahora vamos a agregarle las descripciones. Nuestro objetivo es que las pantallas de funciones muestren la descripción de la función y la de los parámetros de la siguiente forma:

Imagen de la Descripción de la función creada

Imagen Descripción de los parámetros en funcion VBA

Para hacerlo entra en el editor de VBA (Ctrl+F11), luego abre ThisWorkbook e ingresa el código que mostramos

ThisWorkbook - Codigo para mostrar descripciones

Explicación del código

En la linea 2, definimos una variable de tipo Array de Textos, y la definimos como (1 to 1), por que solo tenemos un parámetro, si tuviéramos 3 parámetros, lo cambiamos por (1 to 3)

En la linea 3, asignamos las descripciones de cada uno de los parámetros.

En la linea 4, indicamos la función que estamos actualizando mediante 

, nuestra función se llama CalIVA, luego definimos la descripción de la función y por ultimo enviamos las descripciones de los argumentos.

Importante: Para poder ver las descripciones en tu función, deberás cerrar tu archivo de macros y volver a cargarlo para que tome los cambios realizados.


Quizá te interesen estos otros articulos:

  • Luis C

    Hola muchas gracias por el artículo, está muy bien hecho y de hecho ya lo he probado con éxito en algunas funciones.

    Mi pregunta es si es posible poner descripciones a funciones que tengo dentro de un complemento, lo intento pero me dice que no se puede modificar una macro que se encuentra en un libro oculto. Cuando elijo Vista->Mostrar no me muestra ningún libro oculto.
    Saludos

    • lcruz

      Hola, si lo quieres para un complemento, primero has las pruebas en un libro normal con extensión xlsm, cuando este todo bien lo conviertes a complemento. Ese error que te sale a veces pasa por que tratas de modificar un libro llamado personal.xls, no se si ahi pusiste tu macro

  • Francisca Riquelme

    Hola, tengo una duda, tras creada mi primera función en mi excel, necesito crear una segunda, escribí el código de la descripcion en el mismo lugar donde escribi el codigo para la descripcion de mi primera funcion pero me arroja error, que hago?

    • Hola, que error te da y cual es el código de la función?

      • Francisca Riquelme

        no me sale el error que me salia antes, pero ahí escribi el codigo para las descripciones de mi segunda funcion y no me funciona 🙁 no me muestra nada cuando ejecuto la funcion el excel, solo me funciona de la primera, ayuda T_T https://uploads.disquscdn.com/images/34bfb93196a1fa7a6fb71d0e75ab8dc0158d4e91013341d0093c37552f82af66.png

        • Francisca Riquelme

          subí la foto errónea, en el código de la descripcion de mi segunda formula debe ir Param(1 To 3) pero aún asi no me funciona

          • Debes poner todo dentro de la subrutina o evento Workbook_open(), lo que puedes hacer es crear otra variable por ejemplo Param2 para la segunda función.

            En tu caso intentaste crear una nueva Workbook_open(), pero debes poner todo el codigo en la misma

          • Francisca Riquelme

            Hice eso pero ahora solo me sale la descripcion de mi segunda funcion, pero no me sale la descripcion de los parametros de mi segunda funcion https://uploads.disquscdn.com/images/c0cbcda017b50f603bc190a46d78a3221b9598a6efbdd5ae6d78d5451ed65dcb.png

          • No se alcanza a ver en la imagen, pero al final en la segunda vez que llamas a Aplicacion.MacroOptions…. en esa linea mandas la variable Param, debes cambiarlo a Param2

          • Francisca Riquelme

            Hice eso 🙁 y no me resulta que puedo hacer T_T

  • Juanp

    Hola, tengo una duda, se pueden agregar las descripciones para verlas cuando escribes las funciones desde las celdas?