0165-Dica VBA: Propriedade WorksheetFunction

Há alguns desafios presentes no VBA, e em outras linguagens de programação que exigem conhecimentos mais sofisticados de algoritmos.

Imaginem que queiramos escrever um código em que seja necessário determinar o maior valor presente num intervalo.

Para aqueles, que como eu, tiveram que frequentar aulas de algoritmos já vem à mente a necessidade de comparar os elementos de um vetor, realizar testes comparativos e reposicionar os termos à medida que testamos cada um deles.

Mas, graças a Deus, que estamos programando dentro do Excel.

Se existe uma função de planilha que fornece um resultado é bem mais simples utilizá-la.

E para isso temos o objeto WorksheetFunction.

Vamos ver como ficaria o código para determinamos o valor máximo do intervalo [A1:A100] e inserir o valor obtido na célula B1:

Sub CalculandoMaximo()
[B1] = Application.WorksheetFunction.Max([A1:A100])
End Sub

À medida que digitamos o código e inserimos o ponto “.” após a palavra WorksheetFunction, aparece uma lista para selecionarmos a função desejada.

WorksheetFunction - VBE

Lista de opções para WorksheetFunction

As funções estão em inglês. Se tiver dificuldades acesse a página Lista de funções do Excel (Português x Inglês), ou, se preferir, baixe aqui o arquivo com a listagem.

Se formos ao longo do código utilizar diversas vezes este objeto, o melhor é defini-lo como uma variável.

Sub CalculosEstatisticos()

'Declaração de variáveis
Dim Funcao As WorksheetFunction
Dim rg As Range

'Atribuição de variáveis
Set Funcao = Application.WorksheetFunction
Set rg = ActiveSheet.[A1:A100]

'Cálculos estatísticos
With Funcao
    [B1] = .Max(rg)     'Máximo
    [B2] = .Min(rg)     'Mínimo
    [B3] = .StDev(rg)   'Desvio Padrão
    [B4] = .Average(rg) 'Média
    [B5] = .Median(rg)  'Mediana
End With

End Sub

Espero que a dica tenha sido proveitosa.

Abraços!

In Excel We Trust

Marcado com: , , , , , ,
Publicado em Nível: Avançado

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

Visitas dos usuários
  • 1,963,899

Clique para assinar este blog e receber notificações de novos artigos por email.

Junte-se a 1.476 outros seguidores

Aumente sua interação

Siga-nos do twitter (@usuariosdoexcel).

Acesse o nosso fórum e compartilhe as suas dúvidas.

Curta nossa página no Facebook.

Junte-se ao grupo do LinkedIn.

Visite-nos utilizando o seu smartphone ou tablet.

Recomende este Blog
Visualizar notícias
Site monitorado:
Real Time Web Analytics

Clicky

%d blogueiros gostam disto: