VBA - Funções Definidas pelo Usuário

UMA functioné um grupo de código reutilizável que pode ser chamado em qualquer lugar em seu programa. Isso elimina a necessidade de escrever o mesmo código repetidamente. Isso permite que os programadores dividam um grande programa em várias funções pequenas e gerenciáveis.

Além das funções embutidas, o VBA também permite escrever funções definidas pelo usuário. Neste capítulo, você aprenderá como escrever suas próprias funções em VBA.

Definição de Função

Uma função VBA pode ter uma instrução de retorno opcional. Isso é necessário se você deseja retornar um valor de uma função.

Por exemplo, você pode passar dois números em uma função e então esperar que a função retorne sua multiplicação no programa de chamada.

Note - Uma função pode retornar vários valores separados por uma vírgula como uma matriz atribuída ao próprio nome da função.

Antes de usarmos uma função, precisamos definir essa função particular. A maneira mais comum de definir uma função no VBA é usando oFunction palavra-chave, seguida por um nome de função exclusivo e pode ou não conter uma lista de parâmetros e uma instrução com End Functionpalavra-chave, que indica o fim da função. A seguir está a sintaxe básica.

Sintaxe

Adicione um botão e adicione a seguinte função.

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

Exemplo

Adicione a seguinte função que retorna a área. Observe que um valor / valores podem ser retornados com o próprio nome da função.

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

Chamando uma função

Para invocar uma função, chame a função usando o nome da função, conforme mostrado na captura de tela a seguir.

A saída da área conforme mostrado abaixo será exibida para o usuário.