Usar Fórmulas e Funções do Excel no VBA

Aprenda neste artigo como usar fórmulas e funções Excel no VBA usando WorksheetFunction.

Worksheet function Excel VBA

O Excel VBA como sabem é uma ferramenta que expande muito as funcionalidades do Excel e dos outros programas que compõe o pacote Office.

Dentro do VBA é possível utilizar qualquer uma das funções que são utilizadas normalmente dentro do Excel, auxiliando muito em determinadas tarefas.

Como é possível utilizar qualquer função do Excel, temos á disposição as funções PROCV, CONT.SE, SOMASE, MÉDIA, simplificando a solução de problemas complexos.

Para utilizá-la digite dentro do código VBA WorksheetFunction. e o nome da função. Todas as funções tem que ser em inglês, para isso veja o nome das funções no artigo: http://guiadoexcel.com.br/traducao-das-formulas-excel-ingles-portugues.

Para usar as funções de planilha (WorksheetFunction) no VBA, é necessário primeiro adicionar a biblioteca “Microsoft Excel XX.X Object Library” (onde XX.X é a versão do Excel) à sua referência de projeto. Isso pode ser feito selecionando “Ferramentas” > “Referências” no menu VBA e marcando a opção correspondente.

Em seguida, você pode usar as funções de planilha como qualquer outra função VBA, precedendo o nome da função com “Application.WorksheetFunction.”. Por exemplo, para usar a função SOMA, você pode escrever “Application.WorksheetFunction.SOMA(rng)” onde “rng” é a faixa de células que deseja somar.

Por exemplo a função PROCV, em inglês VLOOKUP, veja um exemplo de código:

Sub Teste()
    
    Dim lValor As Variant
    
    lValor = WorksheetFunction.VLookup("Teste", Sheets("Plan1").Range("A:C"), 2, False)
    
End Sub

É importante notar que as funções de planilha retornam erros se algo estiver incorreto (por exemplo, uma célula vazia em um intervalo passado para a função SOMA), então é recomendável usar a estrutura de tratamento de erros para lidar com esses erros.

Veja no Exemplo que a variável lValor recebe o resultado do PROCV e que a utilização da função PROCV é semelhante á realizada dentro do Excel. Veja:

  1. “Teste” = Valor que será procurado;
  2. Sheets(“Plan1”).Range(“A:C”) = Local aonde estão os dados aonde será realizada a pesquisa;
  3. 2 = Coluna do retorno do valor pesquisado;
  4. False = Define que a pesquisa tem que ser exata, não aproximada.

Caso tenha dúvidas da função PROCV veja o artigo: http://guiadoexcel.com.br/procv-e-proch-excel.

É importante notar que as funções utilizadas devem ser compatíveis com a versão do Excel aonde a planilha será executada, 2003, 2007, 2010, 2013…

Um outro exemplo de função que pode auxiliar muito na programação é a simples função de soma, que dentro do ambiente de programação seria necessário fazer um loop. Exemplo:

msgBox WorksheetFunction.Sum(Range("A:A"))

Então lembre que dentro do VBA você pode utilizar qualquer das funções do Excel e ainda as outras inúmeras possibilidades do Excel VBA.

Sair da versão mobile