Neste post vou ensinar uma função para remover acentos das palavras, utilizando o VBA.
Primeiramente você deverá abrir o editor do VBA para que possamos inserir nosso código. Temos um post aqui no blog ensinando como inserir um módulo e colocar o código.
Após abrir o editor, insira o código abaixo:
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Public Function REMOVER_ACENTO(caract As String) As String | |
Dim codiA, codiB, strTemp As String | |
Dim i, p As Long | |
'Acentos e caracteres especiais que serão buscados na string | |
'Você pode definir outros caracteres nessa variável, mas | |
'precisará também colocar a letra correspondente em codiB | |
codiA = "àáâãäèéêëìíîïòóôõöùúûüÀÁÂÃÄÈÉÊËÌÍÎÒÓÔÕÖÙÚÛÜçÇñÑ" | |
'Letras correspondentes para substituição | |
codiB = "aaaaaeeeeiiiiooooouuuuAAAAAEEEEIIIOOOOOUUUUcCnN" | |
'Armazena em strTemp a string recebida | |
strTemp = caract | |
'Loop que irá de andará a string letra a letra | |
For i = 1 To Len(strTemp) | |
'InStr buscará se a letra indice i de temp pertence a | |
' codiA e se existir retornará a posição dela | |
p = InStr(codiA, Mid(strTemp, i, 1)) | |
'Substitui a letra de indice i em codiA pela sua | |
' correspondente em codiB | |
If p > 0 Then Mid(strTemp, i, 1) = Mid(codiB, p, 1) | |
Next | |
'Retorna a nova string | |
REMOVER_ACENTO = strTemp | |
End Function |
Feito isso, volte para o Excel e vamos testar a nossa função. Na célula A1 insira o texto “MAÇÔ e na célula B2 insira a fórmula =REMOVER_ACENTO(A1) conforme imagem abaixo:
Pronto! Acento removido!
Essa fórmula vai chamar a função que acabamos de criar no VBA. Agora é com você, faça o teste utilizando outras palavras e veja o resultado.
Obrigado e até a próxima!