Ejecutar macro para remplazar caracteres raros

Estoy trabajando un archivo bastante grande en Excel y y necesito reemplazar caracteres raros por letras, intente con unos cuantos y funciono, pero la verdad son más de 25 caracteres o letras raras las que necesito reemplazar y borrar. (═ I)  (╔ E) (┴ A) estos son algunos ejemplos.

1 Respuesta

Respuesta
1

[Hola

Entonces ¿no te es útil la herramienta "Reemplazar" del propio Excel?

Abraham Valencia

hola, fíjate que como son demasiados los reemplazos y con diferentes signos se me esta haciendo demasiado largo, por eso decidí hacer la macro.  

El dilema de ese tipo de caracteres como los que muestras, pues no necesariamente el VBA los detectará de manera simple. Coloca al menos parte de los datos en un archivo de Excel, colócalo en algún "Drive" (Google Drive, OneDrive, DropBox, etc.) y comparte por aquí el enlace para verificar.

Abraham Valencia

¡Gracias!  ya había comenzado una macro que también adjunte. 

https://drive.google.com/file/d/1g_m45bjd9EWoxDGEq-UR1DQomEQ6KapD/view?usp=sharing 

[Hola

Usando "Reemplazar todos" me tomó menos de 10 segundos cambiar los signos por vocales (menos de un minuto para las cinco vocales), hacer una macro tomaría más tiempo y más aún porque hay caracteres no ascii, lo que complica su identificación para el VBA.

Además de las vocales ¿hay más cosas/caracteres por reemplazar?

Abraham Valencia

¡Gracias!

Lo he hecho con reemplazar todos (y si funciona es efectivo) pero el problema no solo son las vocales sino que hay más símbolos los cuales debo debo reemplazar, y el proceso es diario y repetitivo (por eso decidí crear una macro) a veces son más de los que adjunte en el archivo anterior, te dejo una idea de todo lo que se tiene que reemplazar en los archivos.

¿Hay alguna manera de incluir los caracteres que incluí en la primera pregunta en la macro?

https://docs.google.com/document/d/15U--0it67Ay4HaO_G-o29xdyaG0FilIoyGOiAGBPCFw/edit?usp=sharing  

En una hoja de Excel de tu archivo coloca todos los caracteres que has enviado, todos en la columna A (uno por fila/celda). Luego, en la columna B coloca los caracteres que van a reemplazarlos. Una vez hecho eso, coloca ese archivo en un "Drive" y la macro será cosa de 5 minutos.

A la espera

Abraham Valencia

¡Gracias! 

https://drive.google.com/file/d/1flfxlQIL0ZOQsKm4VyWoBxoCqkb3PkXW/view?usp=sharing 

Listo. 

[Hola

Mira:

https://drive.google.com/file/d/1VJu2BHtkz_p1AXvUDotK-Jl4eJpY95DB/view?usp=sharing 

Observa bien la columna que agregué a los códigos, esa es la base para cambiar todo; el "Replace" como verás es corto y con un bucle que haga todo sin muchas líneas.

Saludos]

Abraham Valencia

¡Gracias! 

Fíjate que la revise y si efectivamente elimino los caracteres raros, pero no remplazo los nombres y apellidos quedaron mal escritos (GMEZ= GOMEZ,  LPEZ=LOPEZ) y en otros no se realizó el cambio (TEC┌N= TECUN, JES┌S= JESUS) 

Je je, te envíe el archivo de prueba, no el final, vuelve a descargar del mismo enlace.

Abraham Valencia

¡Gracias!

Esta perfecto, solo hay un signo que no se reemplazo ja ja debes estar aburrido de mi es este mira ┌ que se reemplaza con U, y esta manera como lo hiciste no la entiendo mucho, podrías ayudarme por favor.

EL VBA trabaja de manera directa con caracteres ASCII (que son 255) y si tú intentabas usar directamente Replace con los caracteres "raros" que tienes, pues no iba a funcionar. Esos caracteres "raros" son del tipo UNICODE. Como ves en la columna C hay unos número, ese el el código Unicode de cada uno de los caracteres. La macro "Valores" es la que agrego esos código. Si ves esa macro va de 1 a 126, por los números de filas que hay. Si en algún momento agregas otro caracter (o quitas alguno), basta que ajustes los números y vuelvas a activar la macro.

En la otra macro verás un bucle "For Each" con un rango que va de C53 a C125, ya que en la fila 53 comienzan los caracteres a reemplazar y van hasta la fila 125... 125, cuando debería ser 126 y ¿en qué fila está el caracter que no se reemplazó? 126 ¿Notaste el dilema? Solo ajusta.

Abraham Valencia

¡Gracias! 

Abraham eres genial.

Muchas gracias por tu ayuda. 

Abraham, una última pregunta, estoy modificando algunos caracteres que no incluí en el archivo que te envié, tienes alguna lista o alguna página de donde los sacaste. Si es así estaría agradecida contigo.

(Ya aplique un par de veces la macro, estoy muy complacida con tu esfuerzo gracias)

No, no usé ninguna lista, yo no llené esos códigos "a mano", lo hice con la macro llamada "valores" (hacer lo otro es un trabajo y la ayuda que doy es solo en mis tiempos libres y jamás más de diez minutos por pregunta). Entonces, solo basta agregar en la columna correspondiente y usar la macro para ver su código.

Abraham Valencia

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas