Usar fórmulas/funções Excel no VBA

Objetivo: Usar fórmulas/funções Excel no VBA.

Worksheet function Excel VBAO 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.

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

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.

Abraço

Marcos Rieper