VBA FIND

Excel VBA Find

When we use Find in a normal worksheet we press keyboard shortcut CTRL + F and type the data we need to find and if not desired value we go to the next match, if there is a lot of such matches it is a tedious task but when we use FIND in VBA it does the tasks for us and give us the exact match and it takes three arguments, one is what to find, where to find and where to look at.

Before we move to VBA and start using find function in macros we need to learn first what is a find function in excel. In normal excel in the Home tab under the editing group, we can find a find function which is used to find a string or a value in a cell range or whole worksheet.

When we click on this, we get two options;

One is simple to find,

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 estamos procurando 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.

Expressões em macros são intervalos definidos como intervalo 1 ou intervalo 2. Qual é a palavra-chave para o que queremos 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 que é um 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 de localização é semelhante à função de localização do Excel.

O parâmetro para a função de localização é 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

Você pode baixar este modelo do Excel da função VBA FIND aqui - Modelo do Excel da função VBA FIND

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,
Subamostra ()

Dim FindS As String

Dim Rng como alcance

FindS = InputBox (“Insira o valor que deseja pesquisar”)

Com folhas (“Folha1”) .Range (“A: A”)

  • O exemplo é o nome da função dado ao sub.
  • Localizar é 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 valor ao usuário.

  • 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 define a célula a partir da qual queremos pesquisar os dados.

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

  • Lembre-se sempre de habilitar a guia do desenvolvedor nas opções e, em seguida, na 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 que definimos nossa função, começaremos 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. Primeiramente, 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.