Cómo usar el cuadro de diálogo Insertar función en Excel 2016 VBA

  1. Software
  2. Oficina de Microsoft
  3. Excel
  4. Cómo usar el cuadro de diálogo Insertar función en Excel 2016 VBA

Libro Relacionado

Programación de Excel VBA para Dummies, 4ª Edición

Por John Walkenbach

La ventana de diálogo Insertar función es una práctica herramienta de Excel que le permite seleccionar una función de hoja de cálculo VBA de una lista y le solicita los argumentos de la función. Las funciones personalizadas de su hoja de trabajo también aparecen en el cuadro de diálogo Insertar función. Las funciones personalizadas aparecen en la categoría Definido por el usuario.

Los procedimientos de función definidos con la palabra clave Privada no aparecen en el cuadro de diálogo Insertar función. Por lo tanto, si escribe un procedimiento de Función que está diseñado para ser usado sólo por otros procedimientos VBA (pero no en fórmulas), debe declarar la función como Privada.

Visualización de la descripción de la función

El cuadro de diálogo Insertar función muestra una descripción de cada función incorporada. Pero como puede ver, una función personalizada muestra el siguiente texto como descripción: No hay ayuda disponible.

De forma predeterminada, el cuadro de diálogo Insertar función no proporciona una descripción de las funciones personalizadas.

Para mostrar una descripción significativa de su función personalizada en el cuadro de diálogo Insertar función, realice algunos pasos adicionales (no intuitivos):

  1. Active una hoja de trabajo en el libro de trabajo que contenga la función personalizada.
  2. Seleccione Desarrollador → Código → Macros (o presione Alt+F8). Aparece el cuadro de diálogo Macro.
  3. En el campo Nombre de la macro, escriba el nombre de la función; tenga en cuenta que la función no aparece en la lista de macros; debe escribir el nombre.
  4. Aparece el cuadro de diálogo Opciones de macro.
  5. En el campo Descripción, escriba una descripción de la función.
  6. Haga clic en Aceptar.
  7. Ahora el cuadro de diálogo Insertar función muestra la descripción de la función y la función personalizada muestra una descripción.

Las funciones personalizadas, por defecto, se listan en la categoría Definido por el usuario. Para añadir una función a una categoría diferente, debe utilizar VBA. Esta sentencia, cuando se ejecuta, añade la función TopAvg a la categoría Math & Trig (que es la categoría 3):

MacroOpciones de aplicación Macro:="TopAvg", Categoría:=3

Compruebe el sistema de ayuda para otros números de categoría.

Sólo es necesario ejecutar esta expresión una vez. Después de ejecutarlo (y grabar el libro de trabajo), el número de categoría se asigna permanentemente a la función.

Adición de descripciones de argumentos

Cuando accede a una función incorporada desde la ventana de diálogo Insertar función, la ventana de diálogo Argumentos de función muestra descripciones de los argumentos.

De forma predeterminada, la ventana de diálogo Argumentos de función muestra descripciones de los argumentos de función sólo para las funciones incorporadas.

En el pasado, no era posible añadir descripciones de argumentos. Pero a partir de Excel 2010, Microsoft finalmente implementó esta característica. Las descripciones de los argumentos se proporcionan utilizando el método MacroOpciones. He aquí un ejemplo que añade descripciones para los argumentos utilizados por la función TopAvg:

Sub AddArgumentDescriptions() Application.MacroOptions Macro:="TopAvg", _ ArgumentDescriptions:= _ Array("Range that contains the values", _ "Number of values to average")End Sub

Sólo necesita ejecutar este procedimiento una vez. Después de ejecutarlo, las descripciones de los argumentos se almacenan en el libro de trabajo y se asocian a la función.

Observe que las descripciones de los argumentos aparecen como argumentos para la función Array. Debe utilizar la función Array incluso si está asignando una descripción a una función que sólo tiene un argumento.

Deja un comentario

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