Sustituir caracteres especiales en Excel con fórmula o macro

Tengo unos archivos en csv los cuales abro en Excel para modificarlos y adaptarlos a mi gusto.

Estos archivos tienen los caracteres especiales como acentos, diéresis, letra "ñ", etc en formato UTF8 y cuando importo estos ficheros en mi página de prestashop no me los convierte y salen tal cual en el web, por ejemplo la letra "á" sale "á", la letra "é" sale "é", la "ñ" sale "ñ", etc.

He buscado una tabla de correspondencia pero tardo mucho en ir remplazando uno por uno, no sé si hay forma de que desde prestashop me entienda estos caracteres y no tenga que hacer nada y luego se muestren correctamente o es mejor hacer una fórmula o macro que me lo busque en toda la hoja de Excel y me los sustituya.

La tabla que he encontrado con todos los caracteres UTF8 y su correspondencia la tenéis en el siguiente enlace:

http://www.merinomartinez.com/2012/06/tabla-de-conversion-de-simbolos-utf-8-a-iso-8859-1-ansi/

1 Respuesta

Respuesta
1

H o l a:

En el siguiente enlace respondí algo similar.

Uso de caracteres especiales como el código de VBA

Lo que tienes que hacer es poner en una celda el caracter que quieres reemplezar y en la macro tienes que poner el caracter que deseas.

Esta es la macro:

Sub Macro1()
'Por.Dante Amor
    Columns("B:C").Replace What:=[A1], Replacement:="Á"
    Columns("B:C").Replace What:=[A2], Replacement:="É"
    Columns("B:C").Replace What:=[A3], Replacement:="Í"
    Columns("B:C").Replace What:=[A4], Replacement:="Ó"
    Columns("B:C").Replace What:=[A5], Replacement:="Ú"
End Sub

Por ejemplo en la celda A1 pon el siguiente caracter: 

é

Entonces en la macro tendrás que poner esto:

Columns("B:C").Replace What:=[A1], Replacement:="é"

Si la celda A1 ya la tienes ocupada entonces puedes ocupar la columna Z, el ejemplo quedaría así:

En la celda Z1:

é

En la macro:

Columns("A:Y").Replace What:=[Z1], Replacement:="é"

Sigue las Instrucciones para ejecutar la macro

  1. Abre tu archivo de excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. En el menú elige Insertar / Módulo
  4. En el panel del lado derecho copia la macro
  5. Para ejecutarla presiona F5

Buenos días Dante:

Una pregunta en lugar de poner los caracteres especiales en la columna "Z" como me dices no puedo ponerlos directamente en la "macro".

Es decir algo que sea así (te lo pongo en lenguaje cotidiano porque en programación ando pez)

Remplázame desde la columna "A" hasta la columna "Y" en todas las filas la cadena "á" por "á"

De esta manera la macro me serviría para todas las hojas de Excel, haciéndolo como tu me dices tendría que copiar y pegar cada vez que abro un csv nuevo la columna "Z" con los valores a cambiar.

Un saludo y muchas gracias. 

H o l a:

Utiliza la siguiente macro para hacerlo en todas las hojas, agrega en la macro los caracteres que necesites.

Sub Macro1()
'Por.Dante Amor
    For Each h In Sheets
        h.Cells.Replace What:="á", Replacement:="á"
        h.Cells.Replace What:="é", Replacement:="é"
        h.Cells.Replace What:="í", Replacement:="í"
        h.Cells.Replace What:="ó", Replacement:="ó"
        h.Cells.Replace What:="ú", Replacement:="ú"
    Next
End Sub

¡Gracias!  lo pruebo y te digo.

Avísame cualquier duda. Recuerda valorar la respuesta

.

Hola:
No he recibido comentarios, Recuerda valorar la respuesta
Sal u dos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas