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:
(Ver imagen en el articulo original, relacionado al final del artículo)
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.
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”
‘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.”
No hay comentarios:
Publicar un comentario