/ / Função definida pelo usuário no Excel VBA

Função definida pelo usuário no Excel VBA

Abaixo, vamos olhar para um programa em Excel VBA que cria um Função definida pelo usuário. O Excel possui uma grande coleção de funções. Na maioria das situações, essas funções são suficientes para realizar o trabalho. Se não, você pode criar sua própria função chamada Função Definida pelo Usuário ou função personalizada do Excel. Você pode acessar uma função definida pelo usuário como qualquer outra função do Excel.

Queremos criar uma função chamada SUMEVENNUMBERS que encontre a soma dos números pares de um intervalo selecionado aleatoriamente.

Situação:

Função definida pelo usuário no Excel VBA

Funções definidas pelo usuário precisam ser colocadas em um módulo.

1. Abra o Editor do Visual Basic e clique em Inserir, Módulo.

2. Adicione a seguinte linha de código:

Function SUMEVENNUMBERS(rng As Range)

O nome da nossa função é SUMEVENNUMBERS. A parte entre os colchetes significa que damos ao Excel VBA um intervalo como entrada. Nós nomeamos nosso range rng, mas você pode usar qualquer nome.

3. Em seguida, declaramos um objeto Range e chamamos de célula.

Dim cell As Range

4. Queremos verificar cada célula em um intervalo selecionado aleatoriamente (esse intervalo pode ser de qualquer tamanho). No Excel VBA, você pode usar o loop For Each Next para isso. Adicione as seguintes linhas de código:

For Each cell In rng

Next cell

Nota: célula é escolhida aleatoriamente aqui, você pode usar qualquer nome.

5 Em seguida, verificamos cada valor nesse intervalo, seja ele igual ou não. Nós usamos o operador Mod para isso. O operador Mod fornece o restante de uma divisão. Então 7 mod 2 daria 1. 7 é dividido por 2 (3 vezes) para dar um resto de 1. Dito isto, é fácil verificar se um número é par ou não. Somente se o restante de um número dividido por 2 for 0, o número será par. 8 mod 2 dá 0, 8 é dividido por 2 exatamente 4 vezes e, portanto, 8 é par. Adicione a seguinte instrução If ao loop For Each Next.

If cell.Value Mod 2 = 0 Then

End If

6. Apenas se esta afirmação for verdadeira, adicionamos o valor a SUMEVENNUMBERS. Adicione a seguinte linha de código na instrução If.

SUMEVENNUMBERS = SUMEVENNUMBERS + cell.Value

7. Não se esqueça de terminar a função (fora do loop).

End Function

8. Agora você pode usar esta função, assim como qualquer outra função do Excel, para encontrar a soma dos números pares de um intervalo selecionado aleatoriamente.

Resultado:

Resultado da função definida pelo usuário

Bem feito! É fácil como funções definidas pelo usuário no Excel VBA são Observação: esta função só está disponível nesta pasta de trabalho.

Leia também: