Aprenda a utilizar a função PROCV no VBA

No último artigo, ensinamos a como utilizar a função PROCV ou VLOOKUP(se o seu Excel estiver em Inglês) no Excel. Neste artigo, iremos ensinar a como utilizar a função PROCV no VBA.

O que é PROCV?

Em resumo, PROCV é uma das fórmulas mais utilizadas no Excel, e ela serve para procurar valores na vertical em um certo intervalo. E a resposta da função é o valor procurado, ou os valores associados ao valor procurado.

Para saber mais detalhes de como funciona a função PROCV, preparamos um artigo bem legal, explicando e dando exemplos de como funciona a fórmula PROCV no Excel. Para acessar, clique aqui.

Montar a tabela

Para o nosso exemplo, iremos utilizar a mesma tabela que utilizamos no artigo sobre PROCV para Excel.

Iremos ter duas tabelas diferentes. A primeira tabela, deverá ficar na aba “Planilha1” e irá conter os dados cadastrais dos produtos, e a segunda deverá ficar na aba “Planilha2” e irá ter os dados da quantidade de vendas de cada produto.

A aba “Planilha1” deverá ficar da seguinte forma:

primeira tabela que será utilizada no exemplo de aplicação da fórmula PROCV

A segunda tabela, irá ficar na “Planilha2” e deverá ficar da seguinte forma:

segunda tabela que será utilizada no exemplo de aplicação da fórmula PROCV

Agora que já temos as nossas tabelas, vamos para o ambiente do VBA.

VBA

Para abrir o ambiente aonde o código VBA deverá ser inserido, vá na aba “Desenvolvedor”, que fica na parte superior do Excel. E depois, clique em “Visual Basic”.

Irá abrir, uma nova janela e você será redirecionado para ela.

Agora clique em “Planilha1 (Planilha1)”.

Após clicar em “Planilha1 (Planilha1)”, aonde estava o fundo cinza, apareceu uma janela com fundo branco. É nessa nova janela, aonde o código em VBA deverá ser escrito.

Exemplo 1 – PROCV em uma linha no VBA

Neste primeiro exemplo, iremos utilizar o PROCV para buscar o valor de uma célula e colocar o valor da resposta em uma outra célula. Igual quando fazemos o PROCV no Excel.

Para podermos utilizar o PROCV  no VBA, precisamos utilizar a função “Application.VLookup” do VBA. É essa função responsável por fazer o PROCV no VBA.

Veja, que ela tem os mesmos 4 parâmetros que o PROCV utilizado no Excel, sendo que no VBA a separação dos parâmetros é feito pela vírgula, ao invés do ponto e virgula.

Rode esse código, e veja o resultado:

Na célula C2 apareceu o valor 20, que é a quantidade do produto 1, que está na “Planilha2”. Igual, a quando foi feito o PROCV nessa tabela.

Exemplo 2 – PROCV em várias linhas no VBA

Agora iremos mostrar, como fazer para rodar o código acima para cada linha, que tenha o código do produto preenchido, sem a necessidade de mudar os valores de cada linha manualmente.

O código acima irá aplicar a função PROCV para cada linha preenchida da tabela. 

A variável “ultLinha” terá o valor da última linha, da coluna A, com valor preenchido. Ou seja, o valor dessa variável será 11.

Depois o código entrará no laço For, com o valor inicial 2, até o valor final 11, que é o valor da variável “ultLinha”. Para cada vez que o código entrar no For, o PROCV será aplicado em uma linha da tabela.

Ao final da execução, a sua tabela deverá estar da seguinte forma:

Exemplo 3 – Controlando a mensagem de erro

Uma funcionalidade bem legal, é a possibilidade de controlar a mensagem de erro do PROCV. No nosso exemplo, o valor “#N/D” é uma mensagem de erro, informando que o valor buscado não foi encontrado. Porém, não seria melhor se viesse, de fato, uma mensagem informando que o valor buscado não foi encontrado?

Para conseguir controlar a mensagem de erro, basta fazer uma pequena alteração no código do último exemplo.

Iremos passar na função “IsError” do VBA, a variável “resultado_procv”, essa variável recebeu o valor retornado pelo PROCV do VBA.

A função “IsError” do VBA, irá verificar, se o resultado é um erro ou não. E para podermos controlar de fato, a mensagem que será exibida, precisaremos utilizar também a condicional “IF“.

Assim, iremos verificar se o resultado é um erro ou não. Se for um erro, iremos colocar na célula, a mensagem “valor não encontrado”. Se não for um erro, iremos colocar o valor retornado pelo VBA.

Com essa alteração, a sua planilha deve estar da seguinte forma:

Exemplo 4 – Utilizar o PROCV com o VBA para procurar valores em outra planilha

Todos os exemplos que mostramos até agora, foi utilizando o PROCV junto com o VBA para procurar valores que estão no mesmo arquivo.

Neste último exemplo, iremos mostrar como fazer para procurar valores em uma planilha que está em um outro arquivo.

Para isso, copie os dados que estão na aba “Planilha2”, abra um outro arquivo e cole os dados nesse novo arquivo.

Para podermos realizar o PROCV no VBA para buscar valores em uma outro arquivo é bem simples, basta adicionar o comando abaixo antes do Sheets(“Planilha2”) que está dentro da função “Application.Vlookup”.

  • Workbooks(“nome_do_arquivo”)

Com a inclusão deste comando a nossa função “Application.Vlookup” ficará da seguinte forma:

  • Application.VLookup(codigo_produto, Workbooks(“Pasta1”).Sheets(“Planilha2”).Range(“A:B”), 2, False)
  • O nome do arquivo aonde irei procurar os valores se chama Pasta1

E o nosso código ficará da seguinte forma:

Se inscreva!

Chegamos ao final do artigo. Se você curtiu esse tutorial, se inscreva para receber o nosso curso gratuito de VBA, assim como as nossas novidades.

Ah, e não se esqueça de curtir a nossa página do Facebook. É só clicar em “Curtiu”, aí do seu lado direito ou visitar a nossa página através do link https://www.facebook.com/excelpraontem/ e clicar em “Curtiu” por lá.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *