



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):

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 |
---|---|
1 | Financieras |
2 | Fecha y hora |
3 | Matemáticas y trigonométricas |
4 | Estadísticas |
5 | Búsqueda y referencia |
6 | Base de datos |
7 | Texto |
8 | Lógicas |
9 | Información |
10 | Comandos |
11 | Personalización |
12 | Control de macros |
13 | DDE/Externas |
14 | Definidas 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.
Con Excel abierto.
Pulsar la tecla Alt y mantener pulsada
Pulsar la tecla F11. Mostrará el editor de Visual Basic.
Ir a: Barra de Menú
Insertar
Módulo. Mostrará la ventana del módulo donde escribimos la macro.
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
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.
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.
Guardar el libro con la extensión *.xlsm. Libro habilitado para macros.
Cerrar el documento y volver a abrirlo. Importante para que los cambios se almacenen en Excel.
INSERTAR FUNCIÓN
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.
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.
Mostrará la ventana de argumentos de función. Con la descripción de la función.
