terça-feira, 8 de setembro de 2015

Função (super simples) para remover acentos no Excel

Sabe quando você se depara com uma planilha daquelas bem bagunçadas? Alguns nomes com acento, outros sem, cedilhas, tils e coisas do tipo? Então!! Isso é o caos quando você precisa usar uma tabela dinâmica ou a função PROCV, justamente porque para o Excel Fábio (com acento) e Fábio (sem acento) são cosas totalmente diferentes.
 
Pra ajuda-lo a acabar com este problema sem ter que corrigir tudo na mão, aí vai uma super dica! A função a seguir é programada em VBA (não entre em PÂNICO, é facinho, juro!!) para ser utilizada no Excel, ela serve exatamente para retirar quaisquer acentos ou caracteres especiais de uma célula.
 
 
Function Sem_acento(vtexto As String)
     
    vCom_Acento = "ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜàáâãäåçèéêëìíîïòóôõöùúûü"
    vSem_Acento = "AAAAAACEEEEIIIIOOOOOUUUUaaaaaaceeeeiiiiooooouuuu"
     
    For i = 1 To Len(vtexto)
        vposicao = InStr(vCom_Acento, Mid(vtexto, i, 1))
         
        If vposicao > 0 Then
            vtexto = Replace(vtexto, Mid(vCom_Acento, vposicao, 1), Mid(vSem_Acento, vposicao, 1))
        End If
    Next
Sem_acento = vtexto
End Function

 
Para usá-la, no Excel vá em Desenvolvedor > Visual Basic e em seguida em Inserir > Módulo. Lá, cole o código acima e salve o módulo.
 
 
Na hora de salvar é importante mudar o tipo de arquivo para "Pasta de Trabalho Habilitada para Macro do Excel". Senão dá erro!!
 

Feito isso, agora é possível usar “sem_acento(caract)” como uma função qualquer do Excel usando a sintaxe =sem_acento(CELULA), como por exemplo:
 
 

Nenhum comentário :

Postar um comentário