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 bucleFor
, utilizandoReplace
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 = textoFor 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)
dondeA1
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
ylistaNueva
, 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
- Buscador Potente en VBA
- Ordenar Datos automáticamente
- Actualizar Tabla Dinámica Automáticamente
- Evitar Parpadeo en ejecución de Macro (Próximo)
- Enviar Datos de Excel A Word (Próximo)
- Eliminar celdas vacías de un Rango (Próximo)
- Filtros Dinámicos (Próximo)
- Hacer Hablar a Excel (Próximo)
- Protegiendo el código de tus Macros (Próximo)
- Insertar Link a Etiqueta en Formulario VBA (Próximo)
Responses