Crear categoría y descripción para funciones personalizadas UDF en Excel
En un artículo del 2010 explicaba cómo Crear funciones personalizadas en Excel y tener nuestras propias funciones escritas por nosotros mismos.
En esta ocasión comparto un código en vba que nos permitirá crear una categoría personalizada y agrupar nuestras UDF’s (User Define Function), así como darles una descripción a los argumentos que tendrán y a la misma función.
Tendremos 3 partes principales para tener la categoría y las descripciones de la función:
-
Mandar llamar la función desde el evento Open del archivo.
-
El código que asignará los elementos de la función.
-
El código de la función.
Webinar Incrementa la productividad de tu negocio
Suscríbete al canal de EXCELeINFO en YouTube para aprender más de Excel y macros.
Código
En el evento Open del objeto ThisWorkbook asignamos el código siguiente.
Private Sub Workbook_Open() Call DescribeFunctionEXCELeINFOCOLORCELDA End Sub
En un módulo normal.
'El código que describe la categoría de la función y sus argumentos Private Sub DescribeFunctionEXCELeINFOCOLORCELDA() Dim NombreFunc As String 'nombre de la función Dim DescFunc As String 'descrición de la función Dim Categoria As String 'categoría de la función Dim DescArg(1 To 3) As String 'descripción de los argumentos ' NombreFunc = "EXCELeINFOCOLORCELDA" DescFunc = "Devuelve el índice de color de la celda seleccioada" Categoria = "EXCELeINFO" 'Text category DescArg(1) = "Es la celda de donde se obtendrá el índice de color" ' Application.MacroOptions _ Macro:=NombreFunc, _ Description:=DescFunc, _ Category:=Categoria, _ ArgumentDescriptions:=DescArg End Sub ' 'Función personalizada UDF Function EXCELeINFOCOLORCELDA(celda As Range) ' ' EXCELeINFOCOLORCELDA Función ' Devuelve el color de la celda de la celda seleccionada ' EXCELeINFOCOLORCELDA = celda.Interior.ColorIndex ' End Function
Imágenes
Saludos, está fenomenal la ayuda de las descripciones pero me asalta una duda; la ayuda se muestra al pedir la función por medio de “Insertar función” desde la barra de herramientas (fx), luego se habre la ventana donde se busca la función y luego aparecen los argumentos que uno irá seleccionando, es aqui donde aparecen las descripciones, pero, si la introduzco desde la celda por medio del signo “=” o “+”, ya no aparecen las descripciones de los argumentos; desearía saber como se hace para que también aparezcan con este método de insertar fórmula o función; gracias de antemano y espero pronta respuesta.
Infortunadamente, para ver parámetros de la función es sólo mediante Insertar función. Hasta la fecha no es posible reproducirlo mediante macros.
Es una pena, me hubiera gustado que aprezcan también la ayuda de los parámetros de las UDF tal como lo hace excel con sus funciones integradas o como lo hace vba al insertar sus funciones o aplicaciones. Gracias por la respuesta.