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

Tabla de contenido:

Anonim

¿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 los intereses de un préstamo. Puede crear una función que acepte el monto del préstamo y el período de recuperación. La función puede usar el monto del préstamo y el período de recuperación para calcular el interés y devolver el valor.

Por que usar 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 funcionan de la misma manera que las de la sección anterior sobre reglas para nombrar subrutinas.

Sintaxis de VBA para declarar la función

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

AQUÍ en la sintaxis,

Código Acción
  • "Función privada myFunction (…)"
  • Aquí, la palabra clave "Función" se usa para declarar una función llamada "myFunction" e iniciar el cuerpo de la función.
  • La palabra clave 'Privado' se usa para especificar el alcance de la función
  • "ByVal arg1 como entero, ByVal arg2 como entero"
  • Declara dos parámetros de tipo de datos enteros 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 de fin"
  • "End Sub" se usa para finalizar el cuerpo de la función

Función demostrada con el ejemplo:

Las funciones son muy similares a las de la subrutina. 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 llama. Digamos que quiere sumar dos números. Puede crear una función que acepte dos números y devuelva la suma de los números.

  1. Crea la interfaz de usuario
  2. Agregar la función
  3. Escriba el 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

Establezca las siguientes propiedades de CommanButton1 en lo siguiente.

S / N Control Propiedad Valor
1 CommandButton1 Nombre btnAddNumbers
2 Subtítulo Función Agregar números

Su interfaz ahora debería aparecer de la siguiente manera

Paso 2) Código de función.

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

AQUÍ en el código,

Código Acción
  • "Función privada addNumbers (…)"
  • Declara una función privada "addNumbers" que acepta dos parámetros enteros.
  • "ByVal firstNumber como entero, ByVal secondNumber como entero"
  • Declara dos variables de parámetro firstNumber y secondNumber
  • "addNumbers = firstNumber + secondNumber"
  • Agrega los valores firstNumber y secondNumber y asigna la suma a addNumbers.

Paso 3) Escriba el código que llama a la función

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

AQUÍ en el código,

Código Acción
"MsgBox addNumbers (2,3)"
  • Llama a la función addNumbers 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

Descargar 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 de código
  • Tanto las subrutinas como las funciones ayudan a dividir grandes fragmentos de código en pequeños códigos manejables.