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 TemplateExemplo # 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.