6 febrero, 2025

FUNCIÓN PARA ELIMINAR TILDES O REEMPLAZAR CARACTERES CON VBA

Hola a todos!

Hoy voy a escribir un post sobre VBA … sí, lo estáis oyendo bien. Después de varias semanas (meses) con Typescript vuelvo hoy con un poco de código amigo.

Y no es otro tema que el de eliminar tildes mediante una función definida. Sobre este tema ya ha publicado varios post:

Y por supuesto, tenéis está función también programada en:

Pues hoy, para seguir añadiendo procedimientos a mi colección, os dejo una forma de programar una función utilizando una matriz y otra forma utilizando una cadena (string). Básicamente recorreremos la matriz y la cadena con un loop for para realizar el reemplazo.

No es el forma más eficiente, pero sí una de las más elegantes. Estas son las dos funciones:

Function SIN_TILDES_ARRAY(ByVal Rango As String)
Dim i As Long
cTil = Array("Á", "É", "Í", "Ó", "Ú", "á", "é", "í", "ó", "ú")
sTil = Array("A", "E", "I", "O", "U", "a", "e", "i", "o", "u")
For i = 0 To UBound(cTil)
    Rango = Replace(Rango, cTil(i), sTil(i))
Next
SIN_TILDES_ARRAY = Rango
End Function
Function SIN_TILDES_STRING(ByVal Rango As String)
Dim i As Long
cTil = ("Á,É,Í,Ó,Ú,á,é,í,ó,ú")
sTil = ("A,E,I,O,U,a,e,i,o,u")
For i = 0 To UBound(Split(cTil, ","))
    Rango = Replace(Rango, Split(cTil, ",")(i), Split(sTil, ",")(i))
Next
SIN_TILDES_STRING = Rango
End Function

Y este es el resultado:

Obviamente, si estamos con un procedimiento Sub siempre la podremos invocar o llamar para hacerla funcionar.

Y también hay que tener en cuenta que el código se puede usar para sustituir toda clase de caracteres, no solo las tildes.

Y esto es todo, espero que sea de utilidad!!.

Os dejo el archivo por lo necesitáis:

¿Te ha resultado de interés?, puedes apoyar a Excel Signum con una pequeña donación.

Donate Button with Credit Cards

¡¡Muchas gracias!!

Mediante la suscripción al blog, la realización comentarios o el uso del formulario de contacto estás dando tu consentimiento expreso al tratamiento de los datos personales proporcionados según lo dispuesto en la ley vigente (LOPD). Tienes más información al respecto en esta página del blog: Política de Privacidad y Cookies

Comparte este post

2 comentarios en «FUNCIÓN PARA ELIMINAR TILDES O REEMPLAZAR CARACTERES CON VBA»

  1. Amigo, excelente forma de poder reemplazar los caracteres con tildes. Me sirvió!
    Tengo 4 años de experiencia programando en VBA y me gusta siempre ver otros tipos de codigos para diferentes aplicaciones.

  2. Amigo tengo una duda, que quizas no he entendido muy bien.
    Quisiera saber la sentencia «ByVal» para que se usa o que funcion tiene dentro de una estructura de codigo en VBA.

Si te ha gustado o tienes alguna duda, puedes dejar aquí tu comentario.

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies