Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado

Eliminar tíldes con Macros

| Sin comentarios

A continuación se muestran algunas formas para eliminar tildes.

1 Con la función     =SUSTITUIR(A1,"í","i") ; donde A1 es la celda seleccionada, í la vocal que se cambiará, i la nueva vocal.

La desventaja es que solo cambia una palabra.

2 Se puede usar la función sustituir cinco veces que es igual al número de vocales de esta manera se puede solucionar este problema.

=SUSTITUIR(SUSTITUIR(SUSTITUIR(SUSTITUIR(SUSTITUIR(C5,"á","a"),"é","e"),"í","i"),"ó","o"),"ú","u")

3 Con Macros

Range("E2").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = _
"=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(RC[-1],""á"",""a""),""é"",""e""),""í"",""i""),""ó"",""o""),""ú"",""u"")"
Range("E2").Select
Selection.AutoFill Destination:=Range("E2:E6"), Type:=xlFillDefault

Function txtNoAcc(texto) As String
Dim largoTexto As Long, iX As Long
Dim Lett As Long
txtNoAcc = ""
largoTexto = Len(texto)
For iX = 1 To largoTexto
Lett = Asc(Mid(texto, iX, 1))
Select Case Lett
Case Is = 225
txtNoAcc = txtNoAcc & Chr(97)
Case Is = 233
txtNoAcc = txtNoAcc & Chr(101)
Case Is = 237
txtNoAcc = txtNoAcc & Chr(105)
Case Is = 243
txtNoAcc = txtNoAcc & Chr(111)
Case Is = 250
txtNoAcc = txtNoAcc & Chr(117)
Case Else
txtNoAcc = txtNoAcc & Mid(texto, iX, 1)
End Select
Next iX
End Function

La función de la macros realiza la misma función que la mencionada anteriormente, luego podemos copiar la macros en funciones definidas por el usuario y poder usarla  directamente.

4 Con Macros Segunda Forma. La siguiente macros puede ser utilizada solo seleccionando el texto, sin la necesidad que definir como función de usuario.

With Selection
.Replace What:=Chr(193), Replacement:=Chr(65), LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=True ' cambia Á por A
.Replace What:=Chr(201), Replacement:=Chr(69), LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=True ' cambia É por E
.Replace What:=Chr(205), Replacement:=Chr(73), LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=True ' cambia Í por I
.Replace What:=Chr(211), Replacement:=Chr(79), LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=True ' cambia Ó por O
.Replace What:=Chr(218), Replacement:=Chr(85), LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=True ' cambia Ú por U
.Replace What:=Chr(225), Replacement:=Chr(97), LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=True ' cambia á por a
.Replace What:=Chr(233), Replacement:=Chr(101), LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=True ' cambia é por e
.Replace What:=Chr(237), Replacement:=Chr(105), LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=True ' cambia í por i
.Replace What:=Chr(243), Replacement:=Chr(111), LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=True ' cambia ó por o
.Replace What:=Chr(250), Replacement:=Chr(117), LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=True ' cambia ú por u
End With

Se muestran ejemplos en excel en el archivo adjunto.

Descargar ejemplo

SAMIR ALEXANDER MEJIA CARRERA

Deja una respuesta

Los campos requeridos estan marcados con *.