Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado

Eliminar caracteres no imprimibles

| Sin comentarios

Muchas veces cuando se importan archivos o alguna información la cual debemos analizar, éstas se añaden con caracteres imprimibles(que son los que se ven) y caracteres no imprimibles, que en su mayoría son invisibles; como los saltos de línea, retornos de carro, y espacios de no separación. Es por ello seria difícil aplicar tan solo con un buscar y reemplazar.

Una manera más práctica es a través de una macro en la que le decimos a Excel que buscar, indicándole los códigos de caracteres para especificar nuestro texto de búsqueda, y con que reemplazar con la función Replace; ya que cada carácter tiene un código ASCII, así como los caracteres invisibles también tienen un código, como por ejemplo:

ASCII-Caracteres no imprimibles

(Para mayor visualización de la imagen, hacer click en la misma)

Apliquemos un ejemplo:

El texto lo tenemos así:

Por
t$nt
o,
l$ funci
ón limpi
$r
se
h$ diseñ$do p$r
$
quit$r del texto los
primeros 32 c$r$cte
res no imprimible
s del
código
A<S<C<I<I de
7 b<i<t<s.

Apliquemos esta macro, donde tenemos los caracteres no imprimibles que son:

El código de caracteres de salto de línea es 10.

El código de retorno de carro es 13.

El código de carácter de espacio de no separación es de 160.

Y caracteres imprimible:

El código de $ es 60.

El código de < es de 36

La macro para aplicar es:

Sub EliminarCaracteresNoImprimibles()
'Paso 1: Quitar saltos de línea
ActiveSheet.UsedRange.Replace What:=Chr(10), Replacement:=""
'Paso 2: Quitar retornos de carro
ActiveSheet.UsedRange.Replace What:=Chr(13), Replacement:=""
'Paso 3: Quitar los espacios de no separación
ActiveSheet.UsedRange.Replace What:=Chr(160), Replacement:=""
'Paso 4: Quitar los espacios
ActiveSheet.UsedRange.Replace What:=Chr(60), Replacement:=""
'Paso 3: Quitar y reemplazar $ por la letra "o"
ActiveSheet.UsedRange.Replace What:=Chr(36), Replacement:="a"

End Sub

 

El texto quedaría así:

"Por tanto, la función limpiar se ha diseñado para quitar del texto los primeros 32 caracteres no imprimibles del código ASCII de 7 bits."

Se adjunta ejemplo en Excel.

Eliminar caracteres no imprimibles

 

Por: DENISSE QUILLAS FIESTAS

 

Deja una respuesta

Los campos requeridos estan marcados con *.