Aprenda como remover acentos no Excel

image_pdfimage_print

Acentuações são um grande transtorno para quem utiliza o Excel e precisa lidar com funções de busca como PROCV e PROCH, por exemplo. Isso porque muitas vezes acontece de a célula de referência (a que você usa para fazer a busca) conter palavras acentuadas, enquanto que no intervalo onde você está realizando a busca é composto por células que contém palavras não acentuadas. Ou vice-versa. Isso ocorre muito quando fazemos buscas por nomes de pessoas e nomes de cidades, por exemplo, tentando cruzar dados de tabelas diferentes.

Quando temos este problema, a melhor estratégia é tentar igualar a base de caracteres da célula de busca com a das células do intervalo de busca, retirando de ambas os acentos. Desta forma, teremos uma única base de caracteres e um risco menor de termos incompatibilidades.

Infelizmente o Excel não tem nenhuma função nativa para retirar acentuações. Para contornar isso, teremos que usar uma UDF (User defined function) ou seja, uma função criada pelo próprio usuário.

Como criar a UDF

A UDF é uma macro (escrita em VBA), porém com características um pouco diferentes, pois ela aparecerá como uma função normal do Excel para que o usuário possa chamá-la como ele o faz com uma função qualquer. A seguir, mostramos os passos para programar a nossa UDF:

  1. Entre no Excel e aperte ALT + F11 para abrir o editor VBA.
  2. No menu da esquerda clique com o botão direito do mouse crie um novo módulo.
  3. Escreva o código a seguir no quadro que se abre a direita..
Function Acento(Caract As String)
 Dim A As String
 Dim B As String
 Dim i As Integer
 Const AccChars = "ŠŽšžŸÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðñòóôõöùúûüýÿ"
 Const RegChars = "SZszYAAAAAACEEEEIIIIDNOOOOOUUUUYaaaaaaceeeeiiiidnooooouuuuyy"
 For i = 1 To Len(AccChars)
 A = Mid(AccChars, i, 1)
 B = Mid(RegChars, i, 1)
 Caract = Replace(Caract, A, B)
 Next
 Acento = Caract
End Function

Pronto. Nossa função está implementada. Na prática, ela funciona da seguinte forma: ela verifica todos os caracteres da célula e, sempre que encontra um caractere acentuado, o substitui pelo seu equivalente não acentuado. Para chamar esta nova função no Excel, basta usá-la da mesma forma como usamos qualquer função. Exemplo: suponhamos que nossa célula com caracteres acentuados seja A3 e que quiséssemos ter sua equivalente não acentuada na célula B3. Então, na célula B3, teríamos que chamar a função da seguinte forma:

=Acento(A3)

Pronto! Agora ficou fácil trabalhamos com cruzamento de tabelas de dados diferentes sem nos preocupar com a questão de acentuação.

Fonte: FUNÇÃOEXCEL

Gostou? Tire um minutinho e dê sua contribuição para Drall Dev Community no Patreon!