Função de localização do VBA - Como usar a função Find do VBA? (Exemplos)

Excel VBA Find

Quando usamos Find em uma planilha normal, pressionamos o atalho de teclado CTRL + F e digitamos os dados que precisamos encontrar e se não for o valor desejado vamos para a próxima correspondência, se houver muitas correspondências, é uma tarefa tediosa, mas quando usamos FIND no VBA, ele faz as tarefas para nós e nos dá a correspondência exata e leva três argumentos, um é o que encontrar, onde encontrar e onde olhar.

Antes de passarmos para o VBA e começarmos a usar a função find em macros, precisamos aprender primeiro o que é uma função find no Excel. No Excel normal, na guia Home no grupo de edição, podemos encontrar uma função find que é usada para encontrar uma string ou um valor em um intervalo de células ou planilha inteira.

Quando clicamos nisso, temos duas opções;

Um é simples de encontrar,

Podemos ver que também tem um modo de opções que abre outro recurso.

Ele faz o algoritmo de localização com quatro restrições, Find What, Within, Search e look in.

A segunda opção no excel é Localizar e substituir, que é usada quando encontramos uma string, mas o que substituí-la por qualquer outro valor,

Encontrar a sintaxe da função

Aprendemos acima o que é Encontrar no Excel básico. No VBA, escrevemos códigos manualmente, mas os recursos são os mesmos do Excel normal. Primeiro, vejamos a sintaxe.

Expression.Find (O que, olhando,….)

Se o valor que procuramos for encontrado com a função excel, ela retorna a célula onde o valor está, e se o valor não for encontrado, o objeto da função é definido como nada.

As expressões em macros são intervalos definidos, como intervalo 1 ou intervalo 2. O que é uma palavra-chave para o que desejamos pesquisar para um valor específico? Lookin é uma palavra-chave para o que estamos tentando pesquisar, seja um comentário, uma fórmula ou uma string. Da mesma forma, existem outras restrições na função Find, que são opcionais. O único campo obrigatório obrigatório é o valor que estamos tentando pesquisar.

Basicamente, o VBA descobre que o Excel tem um argumento obrigatório, que é o valor que queremos pesquisar. O resto das restrições são opcionais e existem muitas restrições na função find. A função Find é semelhante à função Find do Excel.

O parâmetro para a função find é o intervalo de células, como em qual intervalo queremos encontrar um valor. Pode ser algumas colunas ou células ou uma planilha inteira.

Exemplos

Exemplo 1

Suponha que nossos dados tenham os seguintes valores

Tentaremos encontrar “Aran” nos mesmos dados.

  • Para escrever um código VBA, é necessário habilitar a aba do desenvolvedor no excel para poder escrever Códigos VBA.
  • Começamos a escrever nosso código escrevendo o código a seguir, conforme mostrado abaixo,
Sub Sample ()
DimFindS As String
Dim Rng As Range
FindS = InputBox (“Digite o valor que deseja pesquisar”)
Com Folhas (“Folha1”) .Range (“A: A”)
  • O exemplo é o nome da função dado ao sub.
  • Find é a string que queremos que o usuário que desejamos inserir para pesquisar.
  • Rng é a variável que consideramos para o intervalo.
  • Agora pedimos ao usuário para inserir o valor que se parece com a imagem abaixo,
  • Agora vamos definir nossa função find no módulo.
  • A função encontra o valor inserido pelo usuário no intervalo fornecido.
  • Agora fechamos a função pelos seguintes argumentos.
  • Agora, se executarmos nosso código primeiro, ele solicitará um prompt do usuário para um valor.
  • Depois que o código é concluído, ele retorna a célula onde os dados foram encontrados.

Exemplo # 2

No exemplo acima, havia quatro nomes exclusivos, mas e se houvesse mais de um nome nos dados, como considerar os dados abaixo,

Podemos ver que o nome Aran é repetido duas vezes nos dados acima. Se o Excel precisar encontrar o nome Aran, ele o encontrará na célula A2 e parará, mas há outro valor semelhante ao de A2 na célula A6. Como buscar esse valor? Aí vem a sintaxe de Find (What, After) na ajuda.

Depois de definir a célula, após a qual referência, queremos pesquisar os dados.

Deixe-nos escrever o código para os dados acima.

  • Lembre-se sempre de habilitar a guia do desenvolvedor a partir das opções e, em seguida, da faixa de opções de personalização no Excel para poder escrever o código em VBA.
  • No VBA, obtemos objetos do Microsoft Excel, que é um módulo onde escrevemos os códigos.
  • Anteriormente, estávamos trabalhando na folha 1; agora, estamos trabalhando na folha 2, então selecione a folha 2 para outro módulo e uma página em branco aparecerá.
  • Agora comece a escrever o código definindo a função primeiro como SUB Sample2 () e pressione enter.
  • Agora definimos nossa função; vamos começar a entrar na parte principal, que é a definição de nossas variáveis.
  • Defina o que a variável Find deve ter,
  • Selecione as folhas nas quais estamos trabalhando, que é a folha 2 neste exemplo,
  • Agora encontraremos o texto que o usuário inserir após a célula A2, então definimos nossa função de localização como abaixo,
  • Agora fechamos o código encerrando as condições with e if.

O que o código acima faz é pesquisar a string após a célula A2 e retornar a célula onde quer que ela seja encontrada.

Coisas para lembrar

  1. Em primeiro lugar, precisamos habilitar a guia do desenvolvedor para usar o VBA.
  2. Qual é o valor específico que precisamos encontrar?
  3. Se o valor não for encontrado, o objeto da função é definido como nada.

Artigos interessantes...