VBA Find and Replace - Como encontrar e substituir palavras no Excel VBA?

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 implementá-la também com o VBA. 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, 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.

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: a seguir, 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 do VBA para ver o método de substituição pelo 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. Ele substituirá apenas a letra 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 “olá” por “oi”.

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.

Artigos interessantes...