Como remover caracteres não ingleses de uma coluna no Excel?
Gerir dados no Excel exige frequentemente a limpeza de texto, especialmente ao trabalhar com listas que podem conter caracteres indesejados ou inconsistentes. Por exemplo, poderá ter uma coluna com nomes ou entradas em que algumas células incluem caracteres não ingleses — como letras acentuadas, símbolos especiais ou escritas estrangeiras — que precisam de ser removidos para garantir a consistência dos dados ou facilitar o processamento posterior.
Remover manualmente esses caracteres pode ser extremamente demorado e propenso a erros, especialmente ao trabalhar com grandes volumes de dados. Para resolver esse desafio de forma eficiente, o Excel oferece várias abordagens: você pode utilizar scripts VBA para eliminar automaticamente linhas que contenham quaisquer caracteres não ingleses ou limpar os dados diretamente, removendo apenas os caracteres não ingleses do texto enquanto preserva intacta a estrutura dos seus dados. Apresentamos aqui duas soluções práticas para ajudá-lo a lidar com esses cenários.
Remover linhas que contenham caracteres não ingleses com VBA
Remover caracteres não ingleses de cadeias de texto utilizando Kutools para Excel
Remover caracteres não ingleses com fórmula do Excel
Remover caracteres não ingleses do texto da célula com VBA
Remover linhas que contenham caracteres não ingleses com VBA
Se precisar de eliminar completamente linhas inteiras que contenham quaisquer caracteres não ingleses de uma determinada coluna no Excel, um script VBA pode automatizar este processo. Esta abordagem é especialmente adequada quando pretende garantir que apenas permaneçam células com caracteres alfabéticos ingleses padrão — eliminando-se toda a linha caso uma célula contenha caracteres estrangeiros ou símbolos especiais. Este método é particularmente útil para preparar conjuntos de dados limpos destinados a sistemas que aceitam exclusivamente caracteres ingleses padrão.
No entanto, tenha em atenção a seguinte limitação: este método atua apenas numa coluna de cada vez, pelo que terá de executar o script separadamente para cada coluna onde pretenda aplicá-lo. Além disso, após a execução, as linhas eliminadas não poderão ser recuperadas, a menos que tenha criado uma cópia de segurança ou consiga utilizar a função Anular.
Segue-se um guia passo a passo:
1. Abra a sua pasta de trabalho do Excel, ative a folha de cálculo que contém a coluna a processar e prima Alt + F11 para abrir a janela do Microsoft Visual Basic for Applications. Assim, acede ao ambiente de programação VBA integrado no Excel.
2. No editor do VBA, clique em Inserir > Módulo para criar um novo módulo e copie e cole o seguinte código VBA na janela de código que aparece:
VBA: Remover caracteres não ingleses
Sub RemoveNonEnglish()
'UpdatebyExtendoffice20171204
Dim xRg As Range
Dim xCell As Range
Dim I As Long
Dim J As Long
Dim xRows As Long
Dim xAsc As Long
On Error Resume Next
Set xRg = Application.InputBox("Select single column:", "KuTools For Excel", Selection.Address, , , , , 8)
If xRg Is Nothing Then Exit Sub
Application.ScreenUpdating = False
xRows = xRg.Rows.Count
Set xRg = xRg(1)
For I = 1 To xRows
Set xCell = xRg.Offset(I - 1)
If xCell.Value <> "" Then
For J = 1 To Len(xCell.Value)
xAsc = Asc(UCase(Mid(xCell.Value, J, 1)))
If xAsc < 65 Or xAsc > 90 Then
xCell.EntireRow.Delete
I = I - 1
Exit For
End If
Next
End If
Next
Application.ScreenUpdating = True
MsgBox "Completed...", vbInformation
End Sub 
3. Prima F5 ou clique no botão Executar para executar o código. Aparecerá uma caixa de diálogo a solicitar que «Selecione uma única coluna». Utilize o rato para selecionar a coluna que pretende processar na sua folha de cálculo e, em seguida, clique em OK.
4. Confirme a sua seleção clicando em OK nas caixas de diálogo subsequentes. O script analisará então cada célula da coluna selecionada e, se detetar qualquer carácter que não seja uma letra do alfabeto inglês maiúscula ou minúscula (A–Z), eliminará a linha inteira que contém essa célula. Após conclusão, aparecerá uma mensagem a informar que o processo terminou.
![]() | ![]() | ![]() |
Nota: Este script VBA funciona apenas com uma seleção de coluna única de cada vez. Recomendamos que guarde a sua pasta de trabalho antes de executar o código, pois as linhas eliminadas não poderão ser recuperadas após a operação. Se os seus dados forem volumosos ou incluírem formatação especial, é altamente aconselhável criar uma cópia de segurança antecipadamente.
Dicas de resolução de problemas: Se vir uma mensagem de erro ou nada parecer acontecer, verifique se selecionou uma coluna válida e apenas uma coluna (não um intervalo que abranja várias colunas). O VBA tem de estar ativado para que este script seja executado. Se o editor do VBA estiver bloqueado ou restrito no seu ambiente, considere ativar as permissões ou utilizar um método alternativo.
Aplicabilidade: Esta abordagem é ideal se pretender garantir que os seus dados incluam apenas entradas com letras exclusivamente inglesas e não precisar de preservar linhas que contenham quaisquer caracteres especiais ou de línguas estrangeiras. Contudo, se o seu objetivo for reter os dados removendo apenas os caracteres não ingleses — sem eliminar linhas inteiras —, considere utilizar a solução Kutools ou outros métodos indicados abaixo.
Remover caracteres não ingleses de cadeias de texto utilizando Kutools para Excel
Se pretender limpar o texto removendo caracteres não ingleses do interior das células — sem eliminar quaisquer linhas —, a funcionalidade Excluir Caracteres Específicos do Kutools para Excel oferece uma solução rápida e prática. É ideal para cenários em que deseja preservar a estrutura geral dos dados, mas remover símbolos, acentos ou caracteres de línguas estrangeiras presentes nas cadeias de texto, mantendo apenas as letras inglesas regulares visíveis.
Por exemplo, esta abordagem é ideal para normalizar nomes, códigos de produto ou quaisquer entradas alfanuméricas que possam ter sido introduzidas incorretamente ou copiadas de fontes externas, trazendo consigo símbolos ou caracteres não latinos indesejados. Comparada à limpeza manual, reduz o risco de omitir elementos indesejados e acelera significativamente o processo.
![]() | ![]() | ![]() |
1. Selecione o intervalo que contém as cadeias de texto a limpar e, em seguida, vá ao separador Kutools na Faixa de Opções do Excel, clique em Texto e escolha Excluir Caracteres Específicos no menu pendente. Consulte a imagem abaixo como referência:
2. Na caixa de diálogo Excluir Caracteres Específicos que aparece, marque a opção Não alfabético (que remove caracteres não alfabéticos, incluindo dígitos, pontuação e símbolos especiais ou não ingleses). O painel de Pré-visualização atualiza-se automaticamente para lhe mostrar como o texto ficará após a remoção desses caracteres.
3. Após confirmar que a pré-visualização corresponde às suas expectativas, clique em OK. Todos os caracteres não ingleses (ou seja, tudo o que não for uma letra do alfabeto inglês padrão) são imediatamente removidos do intervalo selecionado, enquanto o restante dos seus dados permanece inalterado.
Kutools para Excel– Potencie o Excel com mais de 300 ferramentas essenciais, tornando o seu trabalho mais rápido e fácil, e aproveite as funcionalidades de IA para um processamento de dados mais inteligente e uma maior produtividade.Obtenha Já
Se precisar frequentemente de limpar texto no Excel, a abordagem do Kutools oferece uma interface visual intuitiva e processa eficientemente grandes intervalos com apenas alguns cliques. Permite ainda anular alterações, para que possa reverter rapidamente os resultados caso estes não correspondam às suas necessidades.
Dicas e precauções: A opção «Não alfabético» remove também quaisquer números ou sinais de pontuação especiais presentes no texto. Se precisar de manter números ou outros caracteres específicos, experimente diferentes caixas de seleção na caixa de diálogo até obter o resultado pretendido. Reveja sempre o painel de pré-visualização para confirmar o efeito antes de premir OK.
Comparação: Este método é mais flexível do que a eliminação de linhas por VBA, pois remove apenas os caracteres indesejados — e não a linha inteira —, tornando-o menos destrutivo e mais seguro em caso de risco de perda de informação importante associada a cada linha.
Remover caracteres não ingleses com fórmula do Excel
Se não tiver acesso ao Kutools ou preferir não utilizar VBA, pode ainda recorrer a uma fórmula do Excel para remover caracteres não ingleses (ou seja, tudo o que não for uma letra do alfabeto inglês) do texto numa célula. Esta abordagem é ideal para quem procura uma solução não destrutiva, baseada em fórmulas, fácil de aplicar linha a linha e de replicar noutras células.
1. Introduza a seguinte fórmula matricial na primeira célula da sua coluna de saída (por exemplo, B1, se os seus dados originais estiverem na coluna A):
=TEXTJOIN("",TRUE,IF((CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))>=65)*(CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))<=90)+(CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))>=97)*(CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))<=122),MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),"")) Esta fórmula verifica cada caractere na célula A1, mantendo-o apenas se for uma letra maiúscula (A–Z) ou minúscula (a–z) do alfabeto inglês, e junta o resultado numa cadeia de texto limpa.
2. Após digitar esta fórmula, prima Ctrl+Shift+Enter (para versões do Excel anteriores ao Office 365; no Office 365 e posteriores, basta premir Enter). Copie a fórmula para todas as linhas relevantes arrastando a alça de preenchimento ou clicando duas vezes no canto inferior direito da célula.
Explicação dos parâmetros: Esta fórmula utiliza as funções MID, CODE (que devolve o valor ASCII), INDIRECT e ROW para processar cada caractere na célula-alvo, preservando apenas as letras de a a z ou de A a Z.
Precauções: Esta abordagem não altera os dados originais; os resultados são fórmulas na coluna de destino. Se precisar de valores fixos e estáticos, copie os resultados e utilize Colar Valores para substituir as fórmulas.
Limitações: O comprimento do texto afeta o desempenho das fórmulas. Este método poderá não tratar corretamente grafemas Unicode compostos por múltiplos caracteres, pelo que alguns caracteres visualmente não ingleses poderão permanecer se forem representados por sequências Unicode compostas.
Remover caracteres não ingleses do texto da célula com VBA
Se pretender remover caracteres não ingleses no interior do texto das células (sem eliminar linhas inteiras), pode também recorrer ao VBA para uma automação mais personalizável. Esta opção é ideal para tarefas frequentes de limpeza de dados em que os suplementos não constituem uma alternativa viável.
1. Abra o Excel e, em seguida, prima Alt + F11 para iniciar o editor do Microsoft Visual Basic for Applications. Aceda a Inserir > Módulo e cole o seguinte código na janela do módulo:
Sub RemoveNonEnglishCharactersFromCells()
' Remove non-English characters, keep only a-z, A-Z
Dim rng As Range
Dim cell As Range
Dim i As Long
Dim ch As String
Dim output As String
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set rng = Application.Selection
Set rng = Application.InputBox("Select range to clean (cells will be altered):", xTitleId, rng.Address, Type:=8)
If rng Is Nothing Then Exit Sub
Application.ScreenUpdating = False
For Each cell In rng
output = ""
For i = 1 To Len(cell.Value)
ch = Mid(cell.Value, i, 1)
If (Asc(ch) >= 65 And Asc(ch) <= 90) Or (Asc(ch) >= 97 And Asc(ch) <= 122) Then
output = output & ch
End If
Next i
cell.Value = output
Next cell
Application.ScreenUpdating = True
MsgBox "Cleanup complete.", vbInformation
End Sub 2. Regresse ao Excel, selecione o intervalo que pretende limpar, volte ao editor do VBA e execute o código premindo F5 ou clicando no botão Executar. Quando solicitado, selecione o intervalo a processar e confirme.
Efeitos: Este código processa cada célula selecionada, remove todos os caracteres que não sejam letras do alfabeto inglês padrão e atualiza a célula com o resultado limpo. Os dados originais serão substituídos, pelo que é altamente recomendável fazer uma cópia de segurança da sua folha ou trabalhar numa cópia.
Kutools para Excel– Potencie o Excel com mais de 300 ferramentas essenciais, tornando o seu trabalho mais rápido e fácil, e aproveite as funcionalidades de IA para um processamento de dados mais inteligente e uma maior produtividade.Obtenha Já
Demonstração: Remover caracteres não ingleses de cadeias de texto utilizando Kutools para Excel
As Melhores Ferramentas de Produtividade para o Office
Potencie as suas competências no Excel com Kutools para Excel e experimente uma eficiência como nunca antes.Kutools para Excel Oferece mais de 300 funcionalidades avançadas para impulsionar a produtividade e Economizar Tempo.Clique aqui para obter a funcionalidade de que mais precisa...
Office Tab Traz uma interface com separadores para o Office e torna o seu trabalho muito mais fácil
- Ative a edição e leitura com separadores no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Abra e crie vários documentos em novos separadores da mesma janela, em vez de em janelas separadas.
- Aumente a sua produtividade em 50 % e elimine centenas de cliques do rato todos os dias!
Todos os suplementos Kutools — num único instalador.
Kutools for Office reúne suplementos para Excel, Word, Outlook e PowerPoint, além do Office Tab Pro, sendo a solução ideal para equipas que trabalham em várias aplicações do Office.
- Pacote tudo-em-um— suplementos para Excel, Word, Outlook e PowerPoint + Office Tab Pro
- Um instalador, uma licença— configuração em minutos (pronto para MSI)
- Funciona melhor em conjunto— produtividade simplificada em todas as aplicações do Office
- Teste gratuito de 30 dias com todas as funcionalidades— sem registo, sem cartão de crédito
- Melhor relação qualidade-preço— poupe face à compra individual dos suplementos



