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:

  1. Mandar llamar la función desde el evento Open del archivo.
  2. El código que asignará los elementos de la función.
  3. 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

image

image

You may also like...

5 Responses

  1. Antonio says:

    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.

    • sergioacamposh says:

      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.

      • Antonio says:

        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.

  1. December 25, 2012

    […] En Excel 2010 para obtener la validación de si una celda es fórmula o traer la fórmula como si fuera una cadena de texto, deberemos crear macros o funciones personalidas (UDF). […]

  2. March 4, 2014

    […] Siguiendo con el tema de funciones personalizadas (UDF), tenemos 2 funciones que anteriormente ya les había compartido en este Blog, con la salvedad de que vamos a ver cómo las podemos tener siempre disponibles en todos los archivos abiertos, además de crear una categoría que las aloje. […]

Leave a Reply

Your email address will not be published. Required fields are marked *

%d bloggers like this: