Home > Excel, Fórmulas y funciones, Trucos, vba > Crear categoría y descripción para funciones personalizadas UDF en Excel

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.

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

  1. Luis Carlos González
    July 24, 2013 at 10:23

    Como haces para que aparezcan las ayudas en los cuadros de inserter function y Argumentos de function, pues hice todo como lo explicas y no me aparecen dichas ayudas.

    Gracias.

    • July 24, 2013 at 11:39

      Luis:

      Si te refieres a las ayudas que aparecen cuando ingresas en una celda por ejemplos =SUMA( y te muestra los argumentos de la función, esas ayudas no son posibles crearlas con macros.

      Si tuvieras algún dato adicional o comentario házmelo saber.

      • Luis Carlos González
        July 24, 2013 at 12:37

        No. Se trata por ejemplo del comentario ” Devuelve el índice de color de la celda seleccionada” que aparece en letra roja en tu función personalizada y que luego aparece en la parte Baja del cuadro de dialogo Insertar Función. Gracias.

      • James
        September 28, 2013 at 11:43

        Y hay alguna forma de crear esas ayudas si no es con macros quizá de otra forma.

      • September 28, 2013 at 13:33

        Es con macros de Excel con vba con o con lenguaje .NET de Visual Studio, pero ambos implica programación.

  2. July 29, 2013 at 10:54

    Dime si al ejecutar la macro te genera algún error.

    Estás usando la misma función del ejemplo u otra ??

    En todo caso, si pudieras compartirme capturas de pantalla para ver el comportamiento que comentas.

    • Luis Carlos González
      July 29, 2013 at 12:23

      Ante todo gracias por tu tiempo y respuestas. No me genera ningún error, es solo que cuando
      ejecuto la función no me aparece el comentario que te dije anteriormente, en el cuadro insertar Función ni en el cuadro argumentos de función.(O sea los de las imagenes que hay en esta página).
      Y si, estoy usando la misma función.

      • July 29, 2013 at 13:07

        Si pegas tal cual el código en un módulo normal y lo jecutas te debe crear una nueva categoría llamada EXCELeINFO en el cuadro de Insertar función.

        Qué versión de Excel usas ?

        Ya validaste en la lista de categorías ? Financieras, Estadísticas…

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s