Tutorial de funciones de Excel VBA: devolución, llamada, ejemplos

¿Qué es una función?

Una función es un fragmento de código que realiza una tarea específica y devuelve un resultado. Las funciones se utilizan principalmente para realizar tareas repetitivas, como formatear datos para la salida, realizar cálculos, etc.

Suponga que está desarrollando un programa que calcula el interés de un préstamo. Puede crear una función que acepte el monto del préstamo y el período de recuperación. Luego, la función puede utilizar el monto del préstamo y el período de recuperación para calcular el interés y devolver el valor.

¿Por qué utilizar funciones?

Las ventajas de usar funciones son las mismas que las de la sección anterior sobre por qué usar subrutinas.

Reglas para nombrar funciones.

Las reglas para nombrar funciones son las mismas que las de la sección anterior sobre reglas para nombrar subrutinas.

Sintaxis de VBA para declarar función

Private Function myFunction (ByVal arg1 As Integer, ByVal arg2 As Integer)
    myFunction = arg1 + arg2
End Function

AQUÍ en la sintaxis,

Código Acción
  • “Función privada miFunción(…)”
  • Aquí la palabra clave "Función" se utiliza para declarar una función llamada "miFunción" e iniciar el cuerpo de la función.
  • La palabra clave "Privado" se utiliza para especificar el alcance de la función.
  • “ByVal arg1 como entero, ByVal arg2 como entero”
  • Declara dos parámetros de tipo de datos entero llamados 'arg1' y 'arg2'.
  • miFunción = arg1 + arg2
  • evalúa la expresión arg1 + arg2 y asigna el resultado al nombre de la función.
  • “Función final”
  • "End Sub" se utiliza para finalizar el cuerpo de la función.

Función demostrada con el ejemplo:

Las funciones son muy similares a las subrutinas. La principal diferencia entre una subrutina y una función es que la función devuelve un valor cuando se la llama. Mientras que una subrutina no devuelve un valor, cuando se la llama. Supongamos que desea sumar dos números. Puede crear una función que acepte dos números y devuelva la suma de los números.

  1. Crear la interfaz de usuario
  2. Agregar la función
  3. Escribir código para el botón de comando.
  4. Prueba el código

Paso 1) Interfaz de usuario

Agregue un botón de comando a la hoja de trabajo como se muestra a continuación

Funciones y subrutinas de VBA

Establezca las siguientes propiedades de CommanButton1 de la siguiente manera.

S / N Control: Propiedad Value alto
1 Botón de comando1 Nombre btnAgregarNumbers
2 Subtítulo Agregar Numbers Función


Su interfaz ahora debería aparecer de la siguiente manera

Funciones y subrutinas de VBA

Paso 2) Código de función.

  1. Presione Alt + F11 para abrir la ventana de código
  2. Añade el siguiente código
Private Function addNumbers(ByVal firstNumber As Integer, ByVal secondNumber As Integer)
    addNumbers = firstNumber + secondNumber
End Function

AQUÍ en el código,

Código Acción
  • “Función privada agregarNumbers(...) "
  • Declara una función privada “addNumbers”que acepta dos parámetros enteros.
  • “ByVal primer número como entero, ByVal segundo número como entero”
  • Declara dos variables de parámetro firstNumber y secondNumber
  • "agregarNumbers = primerNúmero + segundoNúmero”
  • Agrega los valores firstNumber y secondNumber y asigna la suma a sumarNumbers.

Paso 3) Escribir código que llame a la función

  1. Haga clic derecho en btnAddNumbers_Haga clic en el botón de comando
  2. Seleccione Ver código
  3. Añade el siguiente código
Private Sub btnAddNumbersFunction_Click()
    MsgBox addNumbers(2, 3)
End Sub

AQUÍ en el código,

Código Acción
“MensajeBox addNumbers(2,3) "
  • Llama a la función agregarNumbers y pasa 2 y 3 como parámetros. La función devuelve la suma de los dos números cinco (5)

Paso 4) Ejecute el programa, obtendrá los siguientes resultados

Funciones y subrutinas de VBA

Descargue Excel que contiene el código anterior

Descargue el código de Excel anterior

Resumen

  • Una función es un fragmento de código que realiza una tarea específica. Una función devuelve un valor después de la ejecución.
  • Tanto las subrutinas como las funciones ofrecen reutilización del código.
  • Tanto las subrutinas como las funciones ayudan a dividir grandes fragmentos de código en un código pequeño y manejable.