Cursos, tutoriais e planilhas prontas

Remover acentos

Share on facebook
Share on twitter
Share on linkedin
Share on whatsapp
Share on telegram

Leia também...

Funções de soma

Funções de soma Fazer contas de adição é talvez uma das coisas mais simples que podemos fazer com o Excel. E existem várias funções diferentes para

Continuar lendo

Remover acentos

Este é um problema que eu, sinceramente, nunca tive mas recentemente um dos leitores do Função Excel me passou um arquivo em que ele precisava dessa função e já a tinha implementado. Eu simplesmente peguei a função dele, dei uma leve melhorada e aqui está ela para todos.

A ideia é muito simples, você tem um palavra que possui acentos, mas por algum motivo você precisa remover os acentos dessa palavra, simples assim. Para resolver este problema de forma rápida e permanente você pode usar uma UDF (User defined function) ou seja, uma função definida pelo usuário, que nada mais é do que uma função criada pelo usuário. Já escrevemos sobre isso uma vez, você pode conferir clicando aqui.

Com preguiça de ler? Assista ao vídeo!
Caso contrário, é só descer mais um pouco e continuar a leitura.

Coloque o vídeo em tela cheia para assistir normalmente

Resolveu continuar lendo? Então vamos nessa!


Download de arquivo usado no vídeo

Baixe aqui o arquivo utilizado no vídeo, para poder testar o mesmo por conta própria.


Criando a UDF

A UDF é uma macro (VBA) porém com características diferentes pois aparecerá como uma função normal do Excel, como um PROCV por exemplo.

  1. 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.

Caso tenha assistido ao vídeo, notará que o nome das variáveis e constantes presentes nele, têm nomes diferente dos que estão aqui no texto. Isso porque o vídeo é bem mais recente que o post, e nele fiz algumas alterações para facilitar o entendimento. A lógica permanece exatamente a mesma.

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

Conforme as imagens:

1

2

Se quer saber por que minha tela de código é preta e não branca, clique aqui.

E é só isso, está pronto. Antes de irmos para o exemplo prático, vamos entender como funciona essa macro.


Como esta macro funciona

Normalmente quando criamos uma macro ela começa com Sub ou Private Sub mas você deve ter notado que esta começa com Function pois se trata de uma UDF. Esta função foi nomeada de Acento e é assim que iremos nos referenciar a ela dentro do Excel, e possui apenas um argumento, chamado Caract que nada mais é do que o texto ou palavra com acento. Para fins comparativos, a função PROCV utiliza 4 argumentos, separados pelo ; (ponto e virgula), a função Acento, que acabamos de criar, possui apenas um.

3

Primeiro definimos 3 variáveis que serão utilizadas pela função, são elas as variáveis ABi além de duas constantes chamadas de AccChars RegChars.

O trecho do código que diz:

For i = 1 To Len(AccChars)

Significa que um certo código será repetido enquanto a variável i for menor que o número de caracteres presentes na constante AccChars.

Os trechos:

A = Mid(AccChars, i, 1)
B = Mid(RegChars, i, 1)

Significam que a variável A será a letra que estiver na posição i da variável AccChars. Quando i for igual a 1 então A será igual a primeira letra de de AccChars, isso se repete até que acabem as letras de AccChars. O mesmo acontece bom B porém ao invés de ser uma letra em AccChars será ma letra presente em RegChars.

E o trecho que diz:

Caract = Replace(Caract, A, B)

Este trecho faz com que sempre que a palavra ou texto que se deseja remover os acentos, tiver uma letra presente em AccChars, está letra (com acento) é substituída pela mesma letra presente em RegChars (sem acento). Isso é repetido até que todas as letras presentes em ACCCharsRegChars sejam substituídas.

E a última linha da função:

Acento = Caract

Faz com que o resultado da função Acento seja igual a Caract que teve todas suas letras com acentos substituídas por letras sem acento.


Exemplo prático

A imagem abaixo mostra uma pequena lista de palavras com acento e o resultado obtido com a UDF Acento.

4


Acompanhe o Função Excel
facebook-logo youtube-logo googleplus-logo twitter-logo

Leia também...

2 thoughts on “Remover acentos

Deixe um comentário ou uma dúvida

Compartilhe

Share on facebook
Share on twitter
Share on linkedin
Share on whatsapp
Share on telegram

Planilhas prontas

Composição de custos

Calcule e analise todos os custos diretos da produção de seus produtos, seja qual for o tamanho da sua empresa e seu ramo de atuação.

Gere relatórios detalhados que exibem a composição do custo de cada produto, de forma individual ou conjunta. Melhor precifique seus produtos mantendo uma margem de lucro de que você deseja.

Faça simulações com preços de insumos e veja o impacto de cada um na composição total de seu produto final.

Saber mais »

ANALISE

ANALISE é um sistema completo de análise econômico-financeira contábil e gerencial para empresas de todos os segmentos e portes que tenha uma contabilidade atualizada e fidedigna.

As análises são feitas através do correto preenchimento das informações advindas da contabilidade da sua empresa nas interfaces do sistema, basta preencher que o arquivo fará o cálculo dos principais indicadores econômicos financeiros pra você.

Tenha os números da sua empresa estruturados em telas dinâmicas de análise e potencialize o seu processo de tomada de decisões.

Saber mais »

Leia também...

Faça uma doação

Nos ajude a continuar te ajudando.
Faça uma doação!

Compartilhe com o mundo

Gostou do artigo?
Não seja egoista, compartilhe!

Share on facebook
Share on twitter
Share on linkedin
Share on whatsapp

fique SEMPRE ATUALIZADO!

Junte-se a lista de e-mails do Função Excel

Receba e-mails semanais e melhore constantemente suas habilidades com Excel

Inscreva-se