Vector Machine

Removendo acentos usando o VBA

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:

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!

  • Últimos Posts

  • Categorias

  • Arquivo

  • Tags