Cómo ejecutar procedimientos función de vba en excel 2016

En la programación de VBA, una función devuelve un valor. Puede ejecutar procedimientos de función y llamar a la función en Excel 2016. Funciones, a diferencia de los procedimientos Sub, se pueden ejecutar en sólo dos maneras:

  • Al llamar a la función desde otro procedimiento Sub o procedimiento Function

  • Mediante el uso de la función en una fórmula de hoja de cálculo

Prueba esta función simple. Ingresarla en un módulo VBA:

Función CubeRoot (número) CubeRoot = número ^ (1/3) Función End

Esta función es bastante wimpy- simplemente calcula la raíz cúbica del número que se le pasa como argumento. Lo hace, sin embargo, un punto de partida para la comprensión de las funciones. También ilustra un concepto importante acerca de las funciones: la forma de devolver el valor. (¿Recuerdas que una función devuelve un valor, ¿verdad?)

Observe que la línea de código que compone este procedimiento Función que realiza un cálculo. El resultado de los cálculos (número a la potencia de 1/3) se asigna a la variable de CubeRoot. No es coincidencia que CubeRoot es también el nombre de la función. Para decir la función de cuál es el valor para volver, se asigna ese valor al nombre de la función.

Llamando a la función de un procedimiento Sub

Porque no se puede ejecutar una función directamente, debe llamar desde otro procedimiento. Introduzca el siguiente procedimiento simple en el mismo módulo de VBA que contiene la función CubeRoot:

Sub CallerSub () Ans = CubeRoot (125) MsgBox AnsEnd Sub

Cuando se ejecuta el procedimiento CallerSub, Excel muestra un cuadro de mensaje que contiene el valor de la variable Ans, que es 5.

Video: Como usar la función BUSCARH en Excel - Capítulo 102

Esto es lo que está pasando: Se ejecuta la función CubeRoot, y recibe un argumento de 125. El cálculo se realiza por el código de la función (usando el valor pasado como argumento), y se le asigna el valor devuelto de la función de la variable Ans. La función MsgBox continuación, muestra el valor de la variable Ans.

Intente cambiar el argumento que se pasa a la función CubeRoot y ejecutar la macro CallerSub nuevo. Funciona como debe ser - si se asume que le da la función de un argumento válido (un número positivo).

Por cierto, el procedimiento CallerSub podría simplificarse un poco. La variable Ans no es realmente necesario a menos que su código se utilice esa variable más adelante. Usted podría utilizar esta sola declaración para obtener el mismo resultado:

 MsgBox CubeRoot (125)

Llamar a una función de una fórmula de hoja

Ahora es el momento de llamar a este procedimiento Función de VBA de una fórmula de hoja. Activar una hoja de cálculo en el mismo libro que contiene la definición de la función CubeRoot. A continuación, introduzca la siguiente fórmula en cualquier celda:

= CubeRoot (1728)

La celda de muestra 12, que es de hecho la raíz cúbica de 1.728.

Como era de esperar, se puede utilizar una referencia de celda como argumento para la función CubeRoot. Por ejemplo, si la celda A1 contiene un valor, puede introducir = CubeRoot (A1). En este caso, la función devuelve el número que se obtiene calculando la raíz cúbica del valor de A1.

Puede utilizar esta función cualquier número de veces en la hoja de trabajo. Al igual que las funciones integradas de Excel, sus funciones personalizadas aparecen en el cuadro de diálogo Insertar función. Haga clic en el botón de la barra Insertar función, y elegir la categoría definida por el usuario. El cuadro de diálogo Insertar función muestra su propia función.

La función CubeRoot aparece en la categoría definida por el usuario del cuadro de diálogo Insertar función.
La función CubeRoot aparece en la categoría definida por el usuario del cuadro de diálogo Insertar función.

Si desea que el cuadro de diálogo Insertar función para mostrar una descripción de la función, siga estos pasos:

  1. Elija desarrollador → → Código macros.

    Excel muestra el cuadro de diálogo Macro, pero CubeRoot no aparece en la lista. (CubeRoot es un procedimiento Function, y esta lista sólo muestra los procedimientos Sub.) No se preocupe.

  2. Escriba la palabra CubeRoot en el cuadro Nombre de la macro.

  3. Haga clic en el botón Opciones.

  4. Introduzca una descripción de la función en el cuadro Descripción.

  5. Haga clic en OK para cerrar el cuadro de diálogo Opciones de la macro.

  6. Cerrar el cuadro de diálogo Macro, haga clic en el botón Cancelar.

    Este texto descriptivo aparece ahora en el cuadro de diálogo Insertar función.

Confirmar la función CubeRoot siendo utilizada en las fórmulas de hoja de cálculo.

Uso de la función CubeRoot en las fórmulas.
Uso de la función CubeRoot en las fórmulas.
Artículos Relacionados