VBA Find and Replace

Função Localizar e Substituir no VBA

Se o seu trabalho do Excel envolve tarefas de rotina para encontrar algo e substituí-lo por algo, então você precisa deste artigo a qualquer custo. Porque depois de ler este artigo, você provavelmente economizaria 80% do seu tempo aprendendo esta técnica de codificação VBA. Localizar e substituir no Excel é uma ferramenta frequentemente usada e podemos implementar o mesmo com o VBA também. Em nosso artigo anterior “VBA Find”, mostramos como usar o método FIND no VBA. Neste artigo, mostraremos como usar o método VBA “Find & Replace”.

Siga o artigo para aprender esta técnica.

Sintaxe de localização e substituição do VBA

Para usar o método Find and Replace no VBA, temos que seguir as etapas fornecidas abaixo. Primeiro, selecionamos o intervalo de células, então mencione o intervalo de células usando o objeto RANGE no VBA.

Agora coloque um ponto (.) Para ver a lista do IntelliSense.

Selecione o método Substituir na lista.

Podemos ver a enorme lista de parâmetros do método Replace. Agora veremos a explicação de cada parâmetro abaixo.

  • O quê: isso nada mais é do que o que precisamos encontrar para substituir o valor.
  • Substituição: Com o valor encontrado qual deve ser o novo valor a ser substituído.
  • Olhar para: Isso é para mencionar se queremos olhar para todo o conteúdo ou apenas parte do conteúdo. Podemos fornecer dois parâmetros aqui “xlWhole” e “xlPart”.
  • Ordem de pesquisa: para mencionar a ordem de pesquisa em linhas ou colunas. Podemos fornecer dois parâmetros aqui “xlByRows” e “xlByColumns”.
  • Match Case: O conteúdo que procuramos diferencia maiúsculas de minúsculas ou não. Se o argumento com distinção entre maiúsculas e minúsculas for TRUE ou FALSE.
  • Formato de pesquisa: também podemos pesquisar o conteúdo pela formatação do valor que estamos procurando.
  • Substituir formato: também podemos substituir um formato por outro.

Exemplos de Find and Replace VBA no Excel

Abaixo estão alguns exemplos do método Localizar e Substituir do Excel VBA.

Você pode baixar este modelo VBA Find and Replace Excel aqui - VBA Find and Replace Excel Template

Exemplo # 1 - VBA Encontre e substitua a palavra

Ok, vamos dar uma olhada no exemplo a seguir para entender o método VBA Find and Replace. Dê uma olhada nos dados a seguir.

Etapa 1: primeiro mencione o intervalo de células que estamos substituindo. Neste exemplo, o intervalo é de A1 a B15, então o código será intervalo (“A1: B15”).

Código:

 Sub Replace_Example1 () Range ("A1: B15") End Sub 

Etapa 2: agora coloque um ponto para ver a lista do IntelliSense.

Etapa 3: Selecione o método Substituir na lista do IntelliSense.

Etapa 4: Mencione qual parâmetro como “setembro”.

Código:

Intervalo ("A1: B15"). Substitua o que: = "setembro"

Etapa 5: Em seguida, substituir por parâmetro deve ser nosso novo valor que substituímos por, ou seja, “dezembro”.

Código:

Intervalo ("A1: D4"). Substituir o que: = "setembro", Substituição: = "dezembro"

Ok, a partir de agora ignore todos os outros parâmetros. Agora execute o código VBA para ver o método de substituição com VBA.

Portanto, substituiu todo o mês de setembro pela palavra “dezembro”.

Exemplo # 2 - Substituição sensível a maiúsculas e minúsculas

O exemplo mais avançado do método VBA Find & Replace usará o método de substituição com distinção entre maiúsculas e minúsculas. Para este exemplo, criei esses dados de amostra conforme mostrado na imagem abaixo.

Temos dois dados de células em letras maiúsculas “OLÁ”. Sempre que houver uma maiúscula “OLÁ”, ela deve ser substituída pela nova palavra “Hiii”.

Como de costume, escreva o código, mencione o que encontrar e o que substituir primeiro.

Código:

 Sub Replace_Example2 () Range ("A1: D4"). Substitua o quê: = "OLÁ", Replacement: = "Hiii" End Sub 

Agora, para o próximo argumento “Match Case”, escreva a condição como TRUE.

Código:

Intervalo ("A1: D4"). Substitua o quê: = "OLÁ", Substituição: = "Hiii", MatchCase: = Verdadeiro 

Agora execute o código que substituirá apenas a maiúscula “OLÁ” por “Hiii”.

Imagine que você não aplicou o argumento Match Case no VBA, então ele substituirá todos os “Hello” por “Hiii”.

Nota: Eu removi o argumento Match Case aqui, por padrão o valor do argumento MATCH CASE é FALSE.

Como podemos ver na imagem acima, ela substituiu todas as palavras “hello” por “hiii”.

Portanto, sempre que quisermos usar os critérios MATCH CASE, devemos aplicar o argumento como “TRUE” e por padrão, o valor deste argumento é “FALSE”. Assim, podemos usar o método “FIND & REPLACE” para encontrar algo e substituir o valor encontrado por outro.