Função de Pesquisa VBA do Excel

No excel, usamos o VLookup várias vezes. Está lá na função Inserir, que é usada para buscar ou mapear qualquer tipo de valores que desejamos. Da mesma forma, no VBA, temos o aplicativo Lookup, que funciona da mesma forma que o Excel Vlookup. A Pesquisa do VBA possui uma estrutura de dados flexível, pois pode ser usada para mapear qualquer tipo de valor de qualquer tipo de matriz de tabela. Isso significa que, se aplicarmos o Excel Vlookup, não conseguiremos mapear os dados da coluna direita com os dados da coluna esquerda em uma sintaxe. Enquanto na Pesquisa do VBA, não existe uma estrutura adequada de mapeamento. Nós apenas precisamos seguir a sintaxe do VBA Lookup. Se a sintaxe estiver satisfeita e enquadrada adequadamente, podemos buscar os valores do lado direito ou esquerdo da tabela.

Sintaxe da função de pesquisa do VBA:

Onde,

  • Arg1 = Valor que queremos pesquisar.
  • Arg2 = Intervalo das colunas ou tabela de onde queremos pesquisar.
  • Arg3 = Resultado como Booleano ou Vetor.

Como usar a função de pesquisa no Excel VBA?

Aprenderemos como usar a função Pesquisa no Excel usando o Código VBA.

Você pode fazer o download deste modelo de Excel de pesquisa do VBA aqui - Modelo de Excel de pesquisa do VBA

Pesquisa VBA - Exemplo # 1

Existem várias maneiras de escrever o código de pesquisa do VBA. Neste exemplo, veremos uma maneira simples de escrever a pesquisa do VBA. Para isso, temos um conjunto de dados como mostrado abaixo. Esta tabela possui o número de corridas e a velocidade média dos corredores. Agora, usaremos esses dados para aplicar a Pesquisa VBA na tabela abaixo com os cabeçalhos azuis em A8 a B8. Para isso, siga as etapas abaixo:

Etapa 1: Abra um módulo na guia do menu Inserir, como mostrado abaixo.

Etapa 2: Escreva o subprocedimento para o trabalho executado nesse módulo. Aqui nós escolhemos o nome como VBA Lookup.

Código:

 Sub VBA_Lookup1 () End Sub 

Etapa 3: selecione a célula de saída onde precisamos ver o valor da pesquisa. Aqui, essa célula é B9, onde procuraremos o valor referente ao nome "Aniket", que é o nosso valor de pesquisa.

Código:

 Sub VBA_Lookup1 () Intervalo ("B9"). Valor Fim Sub 

Etapa 4: Agora, usaremos a Função de planilha e selecionar a função Pesquisa incorporada na lista, como mostrado abaixo.

Código:

 Sub VBA_Lookup1 () Intervalo ("B9"). Valor = WorksheetFunction.Lookup End Sub 

Etapa 5: Depois de selecionar a função Pesquisa, veremos Arg1, Arg2 e Arg3 em sua sintaxe. Para isso, primeiro colocaremos nosso intervalo de valores de pesquisa, que é a célula A9, no lugar de Arg1.

Código:

 Sub VBA_Lookup1 () Intervalo ("B9"). Valor = WorksheetFunction.Lookup (Intervalo ("A9"). Valor, Fim Sub 

Etapa 6: agora para Arg2, selecione o intervalo de pesquisa da célula A2: A5.

Código:

 Sub VBA_Lookup1 () Intervalo ("B9"). Valor = WorksheetFunction.Lookup (Intervalo ("A9"). Valor, Intervalo ("A2: A5"), End Sub 

Etapa 7: finalmente, selecione os valores dos valores de pesquisa que variam de B2 a B5 no lugar de Arg3.

Código:

 Sub VBA_Lookup1 () Intervalo ("B9"). Valor = WorksheetFunction.Lookup (Intervalo ("A9"). Valor, Intervalo ("A2: A5"), Intervalo ("B2: B5")) End Sub 

Etapa 8: execute o código pressionando a tecla F5 ou clicando no botão Play localizado abaixo da faixa de opções do menu. Veremos, conforme a Pesquisa, o número de corridas realizadas com o nome "Aniket" é 7.

Pesquisa VBA - Exemplo # 2

Há outra maneira de aplicar uma função de Pesquisa no Excel VBA. Para isso, usaremos os mesmos dados que vimos no exemplo-1. Para isso, siga as etapas abaixo:

Etapa 1: escreva o subprocedimento para VBA Lookup, como mostrado abaixo.

Código:

 Sub VBA_Lookup2 () End Sub 

Etapa 2: defina uma variável como String, que será usada para mapear a coluna Nome.

Código:

 Sub Nome VBA_Lookup2 () Dim como String End Sub 

Etapa 3: na variável definida Nome, aplicaremos o aplicativo Vlookup como mostrado abaixo.

Código:

 Sub Nome VBA_Lookup2 () Dim como Nome da Cadeia de Caracteres = Application.VLookup (End Sub 

Etapa 4: digamos que nosso valor de pesquisa seja nomeado "Ashwani" da tabela.

Código:

 Sub Nome VBA_Lookup2 () Dim como Nome da Cadeia de Caracteres = Application.VLookup ("Ashwani", End Sub 

Etapa 5: E o intervalo é de A1 a C6 da Folha1.

Código:

 Sub Nome VBA_Lookup2 () Dim como Nome da Cadeia de Caracteres = Application.VLookup ("Ashwani", Sheet1.Range ("A1: C6"), End Sub 

Etapa 6: Agora, se quisermos ver a velocidade média do piloto "Ashwani" aqui, precisamos mapear a célula na sintaxe de pesquisa, que fica em terceiro lugar.

Código:

 Sub Nome VBA_Lookup2 () Dim como Nome da Cadeia de Caracteres = Application.VLookup ("Ashwani", Sheet1.Range ("A1: C6"), 3) End Sub 

Etapa 7: Agora, para ver a velocidade média do piloto "Ashwani", podemos usar o MsgBox e o Debug Print. Mas usar Debug Print é muito melhor que MsgBox. Portanto, atribua a impressão de depuração com a variável definida Name.

Código:

 Sub Nome VBA_Lookup2 () Dim como Nome da Cadeia de Caracteres = Application.VLookup ("Ashwani", Sheet1.Range ("A1: C6"), 3) Nome de Depuração.Print End End 

Etapa 8: Agora abra a Janela Imediata, que está lá na guia do menu Exibir para ver a saída.

Etapa 9: Compile o código e execute-o. Veremos que a Lookup mapeou a velocidade de Ashwani e a buscou na janela Immediate 86 .

Código:

 Sub Nome VBA_Lookup2 () Dim como Nome da Cadeia de Caracteres = Application.VLookup ("Ashwani", Sheet1.Range ("A1: C6"), 3) Nome de Depuração.Print End End 

Pesquisa VBA - Exemplo # 3

Para usar a função de pesquisa no Excel VBA, siga as etapas abaixo:

Etapa 1: escreva o subprocedimento para VBA Lookup, como mostrado abaixo.

Código:

 Sub VBA_Lookup3 () End Sub 

Etapa 2: Declare uma variável para Name como String, como mostrado abaixo.

Código:

 Sub Nome VBA_Lookup3 () Dim como String End Sub 

Etapa 3: agora atribua o nome que deseja pesquisar à variável definida Nome, como mostrado abaixo.

Código:

 Sub Nome VBA_Lookup3 () Dim como nome da string = "Deepinder" End Sub 

Etapa 4: agora use qualquer palavra para definir e usar a Pesquisa, digamos LUp . E, nesse caso, use a Função de planilha com Vlookup, como mostrado abaixo.

Código:

 Sub Nome do Dim VBA_Lookup3 () como String Nome = "Deepinder" LUp = Application.WorksheetFunction.VLookup (MsgBox "A velocidade média é:" & LUp End Sub 

Etapa 5: Agora use a mesma sintaxe do Vlookup que usamos no Excel. No Arg1, coloque a variável Name, selecione a matriz do intervalo e procure o valor que queremos obter. Aqui essa coluna é 3, como mostrado abaixo.

Código:

 Sub VBA_Lookup3 () Nome Dim como String Name = "Deepinder" LUp = Application.WorksheetFunction.VLookup (Nome, Sheet1.Range ("A2: C6"), 3, False) MsgBox "A velocidade média é:" & LUp End Sub 

Etapa 6: Agora use MsgBox para ver a saída.

Código:

 Sub VBA_Lookup3 () Nome Dim como String Name = "Deepinder" LUp = Application.WorksheetFunction.VLookup (Nome, Sheet1.Range ("A2: C6"), 3, False) MsgBox "A velocidade média é:" & LUp End Sub 

Etapa 7: Compile e execute o código. Veremos, para o nome "Deepinder", a velocidade média está chegando a 88. Considerando que o mesmo valor é dado para o nome Deepinder na tabela.

Código:

 Sub VBA_Lookup3 () Nome Dim como String Name = "Deepinder" LUp = Application.WorksheetFunction.VLookup (Nome, Sheet1.Range ("A2: C6"), 3, False) MsgBox "A velocidade média é:" & LUp End Sub 

Profissionais da função de pesquisa VBA do Excel

  • É tão fácil de usar e implementar como aplicar fórmulas regulares do Excel Vlookup no Excel.
  • Podemos usar qualquer tipo de intervalo e matriz no VBA Lookup.
  • Existem muito poucas ou nenhuma restrição ao aplicar a Pesquisa VBA.

Coisas para lembrar

  • Podemos usar a Pesquisa no lugar do Vlookup em qualquer situação.
  • O intervalo para o vetor de pesquisa e o vetor de resultados deve ser o mesmo.
  • Depois de concluir o aplicativo, salve o arquivo no formato Habilitar Macro para manter o código.
  • Não há um requisito obrigatório para colocar a coluna de resultados sempre à direita do valor da pesquisa.

Artigos recomendados

Este é um guia para a função Pesquisa do VBA. Aqui discutimos como usar a função Pesquisa no Excel VBA, juntamente com exemplos práticos e modelo de Excel para download. Você também pode consultar nossos outros artigos sugeridos -

  1. Coleção VBA (exemplos)
  2. Instruções IF do VBA | Modelos do Excel
  3. Como usar a função de classificação Excel VBA?
  4. VBA While Loop (exemplos com modelo do Excel)
  5. Ambiente VBA

Categoria: