Função de média personalizada no Excel VBA - Macros fáceis do Excel

Índice

Abaixo, veremos 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 discrepantes e não devem ser calculados.

Situação:

As 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:

Função CUSTOMAVERAGE (rng como intervalo, inferior como inteiro, superior como inteiro)

O nome da nossa função é CUSTOMAVERAGE. A parte entre colchetes significa que fornecemos ao Excel VBA um intervalo e duas variáveis ​​inteiras como entrada. Chamamos nosso intervalo de rng, uma variável inteira que chamamos de inferior e uma variável inteira que chamamos de superior, mas você pode usar qualquer nome.

3. Em seguida, declaramos um objeto Range e duas variáveis ​​do tipo Integer. Chamamos o objeto de célula Range. Uma variável inteira que chamamos de total e uma variável inteira que chamamos de contagem.

Dim célula como intervalo, total como inteiro, conta como inteiro

4. Queremos verificar cada célula em um intervalo selecionado aleatoriamente (este 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:

Para cada célula em rng
Próxima célula

Nota: rng e cell são escolhidos aleatoriamente aqui, você pode usar qualquer nome. Lembre-se de referir-se a esses nomes no restante do código.

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

Se cell.Value> = inferior E cell.Value <= superior Then
total = total + célula.Valor
contagem = contagem + 1
Fim se

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

CUSTOMAVERAGE = total / contagem

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

Função Final

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

Resultado:

Como uma verificação, você pode excluir todos os valores que são inferiores a 10 e superiores a 30 e usar a função Média padrão no Excel para ver se o Excel calcula a mesma média que nossa função média personalizada.

Nossa função de média personalizada funciona! Observação: esta função está disponível apenas nesta apostila.

Você vai ajudar o desenvolvimento do site, compartilhando a página com seus amigos

wave wave wave wave wave