Crear categoría y descripción para funciones personalizadas UDF en Excel

Compatibilidad: Excel 365 2021 2019 2016

Mediante el método Application.MacroOptions en VBA podemos crear categoría y descripción para funciones personalizadas UDF en Excel.

Excel nos permite crear nuestras propias funciones (definidas por el usuario - UDF 'User Defined Functions') para realizar el cálculo deseado y emplearlas en los libros.

El objeto Application tiene la siguiente expresión (variable):

Crear categoría y descripción para funciones personalizadas UDF en Excel

Parámetros de la expresión:

- MACRO. Nombre de la macro o nombre de una función definida por el usuario.

- CATEGORY. Número que especifica la categoría de la función (Financiera, Fecha y Hora, Texto, etc.) También admite un texto para una categoría personalizada.

Número Ref.Categoría
1Financieras
2Fecha y hora
3Matemáticas y trigonométricas
4Estadísticas
5Búsqueda y referencia
6Base de datos
7Texto
8Lógicas
9Información
10Comandos
11Personalización
12Control de macros
13DDE/Externas
14Definidas por el usuario

- DESCRIPTION. Descripción de la función.

  • CREAR FUNCIÓN / MACRO

Insertamos la macro para la función deseada. En nuestro caso una función para calcular la edad.

  1. Con Excel abierto.

  2. Pulsar la tecla Alt y mantener pulsada / Pulsar la tecla F11. Mostrará el editor de Visual Basic.

  3. Ir a: Barra de Menú / Insertar / Módulo. Mostrará la ventana del módulo donde escribimos la macro.

    Ventana Proyecto - VBAProject con el módulo1 insertado
  4. Escribir el código de la macro:

    Public Function CalculaEdad(Fecha_de_nacim As Date)

    CalculaEdad = DateDiff("yyyy", Fecha_de_nacim, Date)

    End Function

    La función CalculaEdad resumida, permite mostrar el número de años
    transcurridos de una fecha.

  • CATEGORÍA Y DESCRIPCIÓN DE LA FUNCIÓN

    1. Ir a: Explorador de Proyectos / VBAProject / Doble Clic sobre ThisWorkbook (libro). Si el panel no está visible Ir a: Barra de menú / Ver / Explorador de proyectos. Mostrará la ventana donde escribimos la macro.

      Panel de proyecto con el objeto ThisWorkbook seleccionado
    2. Escribir el código de la macro:

      Private Sub Workbook_Open()

      Application.MacroOptions Macro:="CalculaEdad", Category:=2, Description:="Calcula la edad desde la fecha de nacimiento en años."

      End Sub

      Código para insertar la categoría y la descripción a la función.

    3. Guardar el libro con la extensión *.xlsm. Libro habilitado para macros.

    4. Cerrar el documento y volver a abrirlo. Importante para que los cambios se almacenen en Excel.

  • INSERTAR FUNCIÓN

  1. Ir a: Cinta de opciones / Pestaña: Formulas / Grupo: Biblioteca de funciones / Categoría: Fecha y hora / CalculaEdad. En la categoría y con la descripción de la función.

    Función UDF (CalculaEdad) mostrada en la cinta de opciones/Fórmulas/Fecha y hora
  2. O también, Ir a: Barra de fórmulas / Botón insertar función. En la categoría y con la descripción de la función.

    Ventana Insertar función mostrando la función (CalculaEdad) en categoría Fecha y hora
  3. Mostrará la ventana de argumentos de función. Con la descripción de la función.

    Ventana argumentos de función mostrando su descripción.
Nivel de dificultad: Experto VBA-Macros Excel Experto VBA - Macros

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.