Há muito que estava prometido esta Macro em Excel, para executar múltiplas substituições. Irei utilizar a versão Excel 2013 mas funciona exatamente da mesma maneira em qualquer outra versão do programa.
Localizar e Substituir é uma operação comum e simples no Excel. A questão está no numero de substituições a fazer!
Quando a lista de substituições é extensa a função Localizar e Substituir não é suficiente.
Nesse sentido desenvolvi uma Macro que facilita imenso esse trabalho.
É muito simples de usar e os resultados são espantosos!
Vamos então instalar o código no Excel para podermos utilizar sempre que necessário.
Abra o Excel e pressione simultaneamente as teclas Alt+F11 de modo a abrir a janela do Editor de Visual Basic. Do lado esquerdo na janela dos projetos localize o livro PERSONAL.XLSB*, abra um dos módulos ou insira um novo e cole o código abaixo.
Sub multisubstituir()
On Error Resume Next
Dim myList, myRange
Set myList = Application.InputBox(prompt:="Selecione a lista das substituições (2colunas)", _
Title:="Tabela das Substituições", Type:=8)
Set myRange = Application.InputBox(prompt:="Selecione as celulas a substituir", _
Title:="Área a Substituir", Type:=8)
For Each cel In myList.Columns(1).Cells
myRange.Replace What:=cel.Value, _
replacement:=cel.Offset(0, 1).Value, LookAt:=xlWhole
Next cel
End Sub
Conforme a imagem seguinte.
Vamos fechar o Excel de modo a guardar o livro PERSONAL.XLSB. Clique no botão com a cruz no canto superior direito de modo a encerrar o Excel. Não necessita guardar o livro usado como exemplo nem o que fez no Editor de Visual Basic. Quando o Excel que lhe perguntar se deseja guardar as alterações efetuadas no livro Personal Macro Workbook, clique em Guardar! Assim esta macro ficará disponível sempre que utilizar este Excel.
Para utilizar o código faça da seguinte forma:
1- Crie uma lista das substituições a realizar. Pode ser feito numa nova folha.
2- Aceda ao separador View, no grupo macros escolha View Macros...
3- Selecione a macro multisubstituir e clique em Run.
4- Na primeira caixa selecione os pares de células a substituir. Criado no ponto 1.
5- Nesta segunda caixa selecione a área onde aplicar as substituições. Pode localizar e substituir em células, linhas, colunas ou ainda toda a folha.
Já está! Super simples e rápido!;-)
Sempre que precisar fazer uma substituição em série basta correr esta macro.
NOTA: Para seleccionar todas as células de uma folha, clique no botão acima da linha 1 e à esquerda da letra A. Conforme imagem abaixo.
*caso não exista o livro siga o seguinte procedimento:
1-No separador View, no grupo Macros escolha Record macro...
2- Altere apenas Store macro in: para Personal Macro Workbook e clique Ok.
3- Volte ao mesmo botão e agora escolha Stop Recording
Agora já deve existir o projeto .
Por: Paulo Costa
pcosta71@gmail.com
existe um numero maximo de caracteres para o valor da coluna b da tabela?
ResponderEliminarPenso que o valor máximo de caracteres será 32.767.
ResponderEliminarNo entanto para valores superiores a 1.024 já existem algumas restrições.
Para mais informações, por favor, veja mais aqui: http://support.microsoft.com/kb/211580/pt
mt bom cara... obrigado por essa macro!
ResponderEliminarOlá Paulo. Ao invés de substituir tem como colar na coluna da frente preservando o original? Obrigado
ResponderEliminartem como substituir os textos nas abas tipo (Plan1) sub (1) por (nada)
ResponderEliminar3 anos depois e a dica ainda está ajudando! muito Obrigado pela macro, economizou muito tempo aqui.
ResponderEliminarGostaria de saber a forma de fazer não somente para campos exclusivos, exemplo: Possuo uma frase e dentro dessa frase gostaria de substituir apenas alguns nomes.
ResponderEliminarFantástico, amigo. Parabéns.
ResponderEliminar