VBA - Funciones definidas por el usuario

UN functiones un grupo de código reutilizable que se puede llamar en cualquier parte de su programa. Esto elimina la necesidad de escribir el mismo código una y otra vez. Esto permite a los programadores dividir un programa grande en varias funciones pequeñas y manejables.

Además de las funciones incorporadas, VBA también permite escribir funciones definidas por el usuario. En este capítulo, aprenderá a escribir sus propias funciones en VBA.

Definición de función

Una función de VBA puede tener una declaración de devolución opcional. Esto es necesario si desea devolver un valor de una función.

Por ejemplo, puede pasar dos números en una función y luego puede esperar que la función devuelva su multiplicación en su programa de llamada.

Note - Una función puede devolver varios valores separados por una coma como una matriz asignada al nombre de la función en sí.

Antes de usar una función, necesitamos definir esa función en particular. La forma más común de definir una función en VBA es usando elFunction palabra clave, seguida de un nombre de función único y puede o no llevar una lista de parámetros y una declaración con End Functionpalabra clave, que indica el final de la función. A continuación se muestra la sintaxis básica.

Sintaxis

Agregue un botón y agregue la siguiente función.

Function Functionname(parameter-list)
   statement 1
   statement 2
   statement 3
   .......
   statement n
End Function

Ejemplo

Agregue la siguiente función que devuelve el área. Tenga en cuenta que un valor / valores se pueden devolver con el nombre de la función en sí.

Function findArea(Length As Double, Optional Width As Variant)
   If IsMissing(Width) Then
      findArea = Length * Length
   Else
      findArea = Length * Width
   End If
End Function

Llamar a una función

Para invocar una función, llame a la función usando el nombre de la función como se muestra en la siguiente captura de pantalla.

La salida del área como se muestra a continuación se mostrará al usuario.