Eliminar tildes, acentos o caractares especiales en Excel

Aquí tienes una guía detallada para crear una función personalizada en Excel que te permitirá eliminar tildes, acentos y otros caracteres especiales fácilmente. La macro es una alternativa práctica para limpiar tus datos y hacerlos más uniformes en pocos pasos.

LISTA DE CARACTERES ESPECIALES:

= Array(«á», «à», «â», «ä», «ã», «å», «ç», «é», «è», «ê», «ë», «í», «ì», «î», «ï», «ó», «ò», «ô», «ö», «õ», «ð», «š», «ú», «ù», «û», «ü», «ý», «ÿ», «ž», «Á», «À», «Â», «Ä», «Ã», «Å», «Ç», «É», «È», «Ê», «Ë», «Í», «Ì», «Î», «Ï», «Ó», «Ò», «Ô», «Ö», «Õ», «Ð», «Š», «Ú», «Ù», «Û», «Ü», «Ý», «Ÿ», «Ž»)

= Array(«a», «a», «a», «a», «a», «a», «c», «e», «e», «e», «e», «i», «i», «i», «i», «o», «o», «o», «o», «o», «o», «s», «u», «u», «u», «u», «y», «y», «z», «A», «A», «A», «A», «A», «A», «C», «E», «E», «E», «E», «I», «I», «I», «I», «O», «O», «O», «O», «O», «O», «S», «U», «U», «U», «U», «Y», «Y», «Z»)

1. Preparación del entorno VBA

  • Abrir VBA en Excel: En tu archivo de Excel, haz clic derecho en la pestaña de la hoja donde deseas usar la macro y selecciona Ver código.

  • Insertar un módulo: En el Editor de VBA, selecciona Insertar > Módulo. Aquí es donde escribirás el código.

2. Crear la función “EliminarAcentos”

  • Crear la función: Escribe el siguiente código para comenzar tu función. Aquí estamos usando Function para iniciar y definir el nombre de la función:

Function EliminaACENTOS(Texto As String) As String

  • Definir las listas: Las listas contendrán las letras acentuadas y sus equivalentes sin acento. Puedes agregar caracteres especiales como ñ, ç, etc.

ListaOrginal = Array(«á», «é», «í», «ó», «ú»)

ListaNueva = Array(«a», «e», «i», «o», «u»)

  • Asignar el resultado a la función: Variable a la función el texto modificado a EliminarAcentos.

EliminarAcentos = texto End Function

3. Implementar el Bucle para Reemplazar Caracteres

  • Usar un bucle For para recorrer listas: Recorre ambas listas con un bucle For, utilizando Replace para sustituir cada letra con acento por su equivalente sin acento.

Dim i As Integer For i = LBound(listaOriginal) To UBound(listaOriginal) texto = Replace(texto, listaOriginal(i), listaNueva(i)) Next i

Código Completo de la Función

Copia y pega el siguiente código en el módulo de VBA:

Function EliminarAcentos(texto As String) As String

    listaOriginal = ListaOrginal = Array("á", "à", "â", "ä", "ã", "å", "ç", "é", "è", "ê", "ë", "í", "ì", "î", "ï", "ó", "ò", "ô", "ö", "õ", "ð", "š", "ú", "ù", "û", "ü", "ý", "ÿ", "ž", "Á", "À", "Â", "Ä", "Ã", "Å", "Ç", "É", "È", "Ê", "Ë", "Í", "Ì", "Î", "Ï", "Ó", "Ò", "Ô", "Ö", "Õ", "Ð", "Š", "Ú", "Ù", "Û", "Ü", "Ý", "Ÿ", "Ž")

    listaNueva = ListaNueva = Array("a", "a", "a", "a", "a", "a", "c", "e", "e", "e", "e", "i", "i", "i", "i", "o", "o", "o", "o", "o", "o", "s", "u", "u", "u", "u", "y", "y", "z", "A", "A", "A", "A", "A", "A", "C", "E", "E", "E", "E", "I", "I", "I", "I", "O", "O", "O", "O", "O", "O", "S", "U", "U", "U", "U", "Y", "Y", "Z")

    EliminarAcentos = texto

    For i = LBound(listaOriginal) 
    EliminarAcentos = Replace(EliminarAcentos, listaOriginal(i), listaNueva(i))
    Next i

End Function

4. Usar la Función en Excel

  • Aplicar la función en Excel: En cualquier celda, escribe =EliminarAcentos(A1) donde A1 es la celda que contiene el texto que deseas procesar. Esto eliminará todos los acentos y caracteres especiales según lo configurado.

5. Ampliar la Función (Opcional)

  • Añadir más caracteres: Si necesitas eliminar otros caracteres, como diéresis (ü), solo tienes que agregar más valores a listaOriginal y listaNueva, manteniendo el mismo orden.

Con esta función podrás limpiar fácilmente caracteres especiales y acentos en Excel. ¡Ahora está lista para usarse!

Parte 1. Macros para Casos Reales


Related Articles

Responses

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *