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.
![](https://cdn.know-base.net/4243297/vba_find_and_replace_how_to_find_replace_words_in_excel_vba_.jpg.webp)
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.
![](https://cdn.know-base.net/4243297/vba_find_and_replace_how_to_find_replace_words_in_excel_vba__2.jpg.webp)
Agora coloque um ponto (.) Para ver a lista do IntelliSense.
![](https://cdn.know-base.net/4243297/vba_find_and_replace_how_to_find_replace_words_in_excel_vba__3.jpg.webp)
Selecione o método Substituir na lista.
![](https://cdn.know-base.net/4243297/vba_find_and_replace_how_to_find_replace_words_in_excel_vba__4.jpg.webp)
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.
![](https://cdn.know-base.net/4243297/vba_find_and_replace_how_to_find_replace_words_in_excel_vba__5.jpg.webp)
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
![](https://cdn.know-base.net/4243297/vba_find_and_replace_how_to_find_replace_words_in_excel_vba__6.jpg.webp)
Etapa 2: agora coloque um ponto para ver a lista do IntelliSense.
![](https://cdn.know-base.net/4243297/vba_find_and_replace_how_to_find_replace_words_in_excel_vba__7.jpg.webp)
Etapa 3: Selecione o método Substituir na lista do IntelliSense.
![](https://cdn.know-base.net/4243297/vba_find_and_replace_how_to_find_replace_words_in_excel_vba__8.jpg.webp)
Etapa 4: mencione qual parâmetro como "setembro".
Código:
Intervalo ("A1: B15"). Substitua o que: = "setembro"
![](https://cdn.know-base.net/4243297/vba_find_and_replace_how_to_find_replace_words_in_excel_vba__9.jpg.webp)
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"
![](https://cdn.know-base.net/4243297/vba_find_and_replace_how_to_find_replace_words_in_excel_vba__10.jpg.webp)
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.
![](https://cdn.know-base.net/4243297/vba_find_and_replace_how_to_find_replace_words_in_excel_vba_.gif)
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.
![](https://cdn.know-base.net/4243297/vba_find_and_replace_how_to_find_replace_words_in_excel_vba__11.jpg.webp)
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
![](https://cdn.know-base.net/4243297/vba_find_and_replace_how_to_find_replace_words_in_excel_vba__12.jpg.webp)
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
![](https://cdn.know-base.net/4243297/vba_find_and_replace_how_to_find_replace_words_in_excel_vba__13.jpg.webp)
Agora execute o código. Ele substituirá apenas a letra maiúscula “OLÁ” por “Hiii”.
![](https://cdn.know-base.net/4243297/vba_find_and_replace_how_to_find_replace_words_in_excel_vba__2.gif)
Imagine que você não aplicou o argumento Match Case no VBA, então ele substituirá todos os “Hello” por “Hiii.”
![](https://cdn.know-base.net/4243297/vba_find_and_replace_how_to_find_replace_words_in_excel_vba__12.jpg.webp)
Nota: Eu removi o argumento Match Case aqui. Por padrão, o valor do argumento MATCH CASE é FALSE.
![](https://cdn.know-base.net/4243297/vba_find_and_replace_how_to_find_replace_words_in_excel_vba__14.jpg.webp)
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.