Blog

Postado em em 31 de dezembro de 2022

VBA VLookUp – Como Fazer o PROCV pelo VBA de 2 Formas Diferentes

Você sabia que é possível fazer PROCV pelo VBA de 2 formas diferentes? Uma dessas formas é utilizando o VBA VlookUp. Quer aprender?

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo!

Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:

Fala, Impressionadores! Hoje você vai ver duas formas de fazer o PROCV no VBA.

A primeira forma é tentar utilizar as funções do Excel dentro do VBA, e a segunda forma é através de outras estruturas que simulem o PROCV dentro do VBA!

E aí, pronto para aprender essas formas de utilizar essa importante função?

Abaixo temos um exemplo parecido com aulas anteriores, onde temos IDs dos vídeos aqui do canal da Hashtag no Youtube, e a quantidade de visualizações de cada vídeo.

Temos a disposição de aproximadamente 500 IDs listados. Abaixo temos alguns deles, para ilustrar o exemplo da aula de hoje:

A seguir temos duas formas de utilizar o PROCV no VBA. Acompanhe com a gente!

Forma 1) Utilizando a função PROCV do Excel pelo VBA

A primeira forma que apresentamos na aula é a qual chamamos diretamente as funções do Excel no VBA: WorksheetFunction.

Através desse objeto, conseguimos usar as funções do Excel dentro do VBA, para usar de seu potencial dentro dos códigos. Lembrando que os nomes das funções chamadas dentro do VBA são todas escritas em inglês.

Caso você não saiba como utilizar a fórmula PROCV, recomendamos outro post aqui do blog sobre como utilizar essa função no Excel!

Veja o código exemplo abaixo:

Sub vlookupVBA()

Range("E2").Value = WorksheetFunction.VLookup(Range("E1").Value, Range("A:B"), 2, 0)


End Sub

Comentários a respeito do código:

  • Armazenar na célula E2 o resultado da utilização da função PROCV, onde procuraremos o valor que está na célula E1 na matriz A:B, retornando a resposta para a 2ª coluna, com uma procura exata.

Veja o resultado do código:

Forma 2) VBA VLookUp através de Estrutura de repetição For Next

A segunda forma de utilizar o PROCV no Excel é através de uma estrutura de repetição For Next.

A seguir apresentamos o código responsável por conseguir fazer a mesma função do PROCV através de outras estruturas, sem utilizar diretamente a função.

Sub vlookupVBA2()

For linha = 2 To 501

    If Range("A" & linha).Value = Range("E1").Value Then

        Range("E2").Value = Range("B" & linha).Value
       Exit For

    End If

Next

End Sub

Comentários a respeito do código acima:

  • Utilizar de uma estrutura de repetição do tipo For, fazendo as ações da linha 2 até a linha 501:
    • Fazer uma verificação imediata no VBA através de uma estrutura de comparação if e else, que vai comparar o valor da célula da coluna A e da linha representada pela variável “linha” (que vai mudando a cada volta) é igual ao valor que estamos procurando, que está na célula E1. Caso seja igual:
      • Armazenar na célula E2 o valor da célula que estiver imediatamente ao lado (na coluna B, na linha em questão) da célula encontrada pela comparação (na linha em questão, na coluna A)
      • Abortar a estrutura de repetição (For) através da instrução Exit For
    • A estrutura vai seguir as comparações até encontrar uma correspondência. .Se não, vai parar na linha 501. Quando encontrar, abortará a estrutura de repetição e seguirá para o fim do código.

Observe o resultado do código do segundo exemplo:

VBA VLookUp

Como atribuir macro a um botão

O código criado tem a possibilidade de ser acionado através de um botão. Ele vai ser responsável por acionar o nosso código, ao clicar no botão.

Para isso, temos que inserir na nossa planilha um retângulo de cantos arredondados. Após isso, você pode personalizar o botão da forma que você queira.

Agora basta associar a macro em questão associada ao botão que deseja tê-lo como acionador, com o botão direito do mouse.

Conclusão – VBA VLookUp

Hoje você viu como fazer PROCV no VBA, através de dois exemplos práticos!

O primeiro envolveu a utilização de uma forma idêntica de utilizar o PROCV pelo Excel dentro do VBA: através do objeto WorksheetFunction!

O segundo exemplo envolveu a estrutura If e else no VBA, além de estrutura de repetição do tipo For!

Valeu, Impressionadores! Fique ligado no nosso canal do Youtube para mais conteúdo de VBA!

Hashtag Treinamentos

Para acessar outras publicações de VBA, clique aqui!


Quer aprender mais sobre VBA com um minicurso básico gratuito?

Quer sair do zero em Python e virar uma referência na sua empresa? Matricule-se agora mesmo no Python Impressionador!