/ / Média de funções personalizadas no Excel VBA

Função Média Personalizada no Excel VBA

Abaixo, vamos olhar para um programa em Excel VBA que cria um Função definida pelo usuário que calcula o média de um intervalo selecionado aleatoriamente excluindo um ou mais valores que são outliers e não devem ser calculados.

Situação:

Função Média Personalizada 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 CUSTOMAVERAGE(rng As Range, lower As Integer, upper As Integer)

O nome da nossa função é CUSTOMAVERAGE. A parte entre os colchetes significa que fornecemos ao Excel VBA um intervalo e duas variáveis ​​Integer como entrada. Nós nomeamos nosso range rng, uma variável Integer que chamamos de lower, e uma variável Integer que chamamos de upper, mas você pode usar qualquer nome.

3. Em seguida, declaramos um objeto Range e duas variáveis ​​do tipo Integer. Nós chamamos a célula do objeto Range. Uma variável Integer que chamamos de total e uma variável Integer que chamamos de count.

Dim cell As Range, total As Integer, count As Integer

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: rng e célula são escolhidos aleatoriamente aqui, você pode usar qualquer nome. Lembre-se de se referir a esses nomes no restante do seu código.

5 Em seguida, verificamos cada valor nesse intervalo se ele estiver entre os dois valores (inferior e superior). Se for verdade, incrementamos o total pelo valor da célula e incrementamos a contagem em 1. Adicione as seguintes linhas de código ao loop.

If cell.Value >= lower And cell.Value <= upper Then
    total = total + cell.Value
    count = count + 1
End If

6. Para retornar o resultado dessa função (a média desejada), adicione a seguinte linha de código fora do loop.

CUSTOMAVERAGE = total / count

7. Não se esqueça de terminar a função. Adicione a linha:

End Function

8. Agora você pode usar essa função como qualquer outra função do Excel para calcular a média de números que caem entre dois valores.

Resultado:

Resultado da função média personalizada

Como verificação, você pode excluir todos os valoresmenor que 10 e maior que 30 e use a função Média padrão no Excel para ver se o Excel calcula a mesma média que a nossa função média personalizada.

Verificação de função média personalizada

Nossa função média personalizada funciona! Nota: esta função só está disponível nesta pasta de trabalho.

Leia também: