Remover acentos no Excel e converter caracteres especiais no Excel
Neste artigo você aprenderá como remover acentos no Excel e converter caracteres especiais no Excel como UTF8 para ASCII.
Em diversas situações é necessário remover a acentuação de textos no Excel. Como por exemplo quando você tem uma base de dados que vem de um sistema e você precisa realizar o batimento com outras informações.
Código VBA para remover acentos no Excel
Para remover acentos de textos no Excel nós utilizaremos uma função própria no Excel feita em VBA. Também chamadas de UDF.
Caso já saiba como utilizar funções próprias no Excel você pode copiar e aplicar diretamente o VBA abaixo, mas caso não conheça, veja no último tópico como instalar estas funções no Excel.
Function fnRetirarAcentos(ByVal vStrPalavra As String) As String Dim lstrEspecial As String Dim lstrSubstituto As String Dim lstrAlterada As String Dim liControle As Integer Dim liPosicao As Integer Dim lstrLetra As String Application.Volatile lstrEspecial = "àáâãäèéêëìíîïòóôõöùúûüÀÁÂÃÄÈÉÊËÌÍÎÒÓÔÕÖÙÚÛÜçÇñÑ" lstrSubstituto = "aaaaaeeeeiiiiooooouuuuAAAAAEEEEIIIOOOOOUUUUcCnN" lstrAlterada = "" If vStrPalavra <> "" Then For liControle = 1 To Len(vStrPalavra) lstrLetra = Mid(vStrPalavra, liControle, 1) liPosicao = InStr(lstrEspecial, lstrLetra) If liPosicao > 0 Then lstrLetra = Mid(lstrSubstituto, liPosicao, 1) End If lstrAlterada = lstrAlterada & lstrLetra Next fnRetirarAcentos = lstrAlterada End If End Function
Código VBA para converter UTF8 para ASCII no Excel
Para converter UTF8 para ISO-8859-1 ou ASCII no Excel nós utilizaremos uma função própria no Excel feita em VBA. Também chamadas de UDF.
Caso já saiba como utilizar funções próprias no Excel você pode copiar e aplicar diretamente o VBA abaixo, mas caso não conheça, veja no último tópico como instalar estas funções no Excel.
Public Function fnConverterUTF8(ByVal Texto_para_converter As String) Dim l As Long, sUTF8 As String Dim iChar As Integer Dim iChar2 As Integer For l = 1 To Len(Texto_para_converter) iChar = Asc(Mid(Texto_para_converter, l, 1)) If iChar > 127 Then If Not iChar And 32 Then iChar2 = Asc(Mid(Texto_para_converter, l + 1, 1)) sUTF8 = sUTF8 & ChrW$(((31 And iChar) * 64 + (63 And iChar2))) l = l + 1 Else Dim iChar3 As Integer iChar2 = Asc(Mid(Texto_para_converter, l + 1, 1)) iChar3 = Asc(Mid(Texto_para_converter, l + 2, 1)) sUTF8 = sUTF8 & ChrW$(((iChar And 15) * 16 * 256) + ((iChar2 And 63) * 64) + (iChar3 And 63)) l = l + 2 End If Else sUTF8 = sUTF8 & Chr$(iChar) End If Next l fnConverterUTF8 = sUTF8 End Function
Como colocar uma função definida no Excel
Para colocar nossas funções próprias nós iremos criar um suplemento do Excel.
- Abra o Excel com uma planilha em branco.
- Caso não esteja habilitada a sua guia desenvolvedor habilite-a, veja neste artigo como: https://www.guiadoexcel.com.br/como-criar-funcoes-proprias-no-excel-com-vba/.
- Clique na guia Desenvolvedor e no botão Visual Basic.
- Na estrutura da esquerda selecione aberta.
- Clique no menu em Inserir->Módulo.
- Abra este novo arquivo criado clicando duas vezes e cole o código seguinte. Este é o código da nossa função própria que identifica a posição de um carácter em um texto de uma célula á partir de determinada ocorrência.
Como remover acentos no Excel
Para utilizar a função de remover acentos no Excel você utilizará a função =fnRetirarAcentos(A2), bastando substituir o A2 pela célula de referência que deseja remover acentos.
A conversão é realizada automaticamente após a aplicação da fórmula no Excel.
Como converter caracteres especiais no Excel
A utilização dela é bastante simples, basta você digitar =fnConverterUTF8(A1), substituindo o A1 pela célula aonde está o texto para converter em ASCII, e o mesmo será convertido imediatamente.
A performance também é boa, para uma lista de 40.000 linhas os textos foram convertidos em cerca de 2 minutos.
No exemplo acima você pode ver a utilização da mesma em uma planilha Excel, e no download deste arquivo você tem a função aplicada diretamente em um exemplo.
Esta é mais uma função que você não sabe como usar, mas é bem possível que seja necessário, principalmente se você tiver que trabalhar com algum dado de uma lista antiga, ou exportada de uma forma incorreta por um cliente e você tenha que ajustá-la. Por isso a nossa sugestão é de você criar um suplemento com as funções que você criou e encontrou na internet, se já não tiver, e adicionar mais esta função.
Download da planilha
Para realizar o download desta planilha com o exemplo das fórmulas aplicadas você pode se cadastrar e baixar no link abaixo.
Nele você receberá e-mails semanais com novos artigos, dicas e ofertas de treinamentos e planilhas que irão te ajudar na sua carreira e trabalho.
Baixe a planilhaCurso Excel Completo – Do Básico ao VBA
Quer aprender Excel do Básico, passando pela Avançado e chegando no VBA? Clique na imagem abaixo: