Faaala Fernando, blz cara?
Precisei a um tempo disso, acabei resolvendo assim:
'Remove acentos e caracteres especiais e deixa o texto em caixa alta
Public Function ArrumarTexto(ByVal Caract As Variant) As Variant
'Declaracao de Variaveis
Dim i As Long
Dim p As Variant
Dim codiA As String
Dim codiB As String
'Caracteres impeditivos
codiA = "àáâãäèéêëìíîïòóôõöùúûüÀÁÂÃÄÈÉÊËÌÍÎÒÓÔÕÖÙÚÛÜçÇñÑ-'´)([]/*-+.,!@#$%¨&§¹²³£¢¬"
'Caracteres substitutivos
codiB = "aaaaaeeeeiiiiooooouuuuAAAAAEEEEIIIOOOOOUUUUcCnN "
'Inicia o loop em busca dos caracteres impeditivos
For i = 1 To Len(Caract)
p = InStr(codiA, Mid(Caract, i, 1))
'Verifica a existencia dos caracteres no texto
If p > 0 Then
'Realiza a substituicao
Mid(Caract, i, 1) = Mid(codiB, p, 1)
End If
Next
'Retorno do texto
ArrumarTexto = UCase(Application.WorksheetFunction.Trim(Caract))
End Function
E esse para remover número:
'Remove acentos e caracteres especiais e deixa o texto em caixa alta
Public Function RemoverNumero(ByVal Caract As Variant) As Variant
'Declaracao de Variaveis
Dim i As Long
For i = Len(Caract) To 1 Step -1
If IsNumeric(Mid(Caract, i, 1)) Then
Caract = Replace(Caract, Mid(Caract, i, 1), "")
End If
Next
'Retorno do texto
RemoverNumero = UCase(Application.WorksheetFunction.Trim(Caract))
End Function
Fiz função pois precisava em textbox distintos e necessidades diferentes... então segue mais uma contribuição e opção.
Acredito não ser necessário habilitar nada...
Qualquer coisa da o grito.
Abraço
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Postado : 15/01/2015 8:23 am