Eliminar espacios en blanco

08/06/2005 - 03:15 por AndreaC | Informe spam
Tengo una planilla con varias columnas y muchas filas. Todas las celdas
contienen textos de distintas longitudes.
Necesito programar una macro que elimine los espacios que sobran (dobles
espacios y espacios al incio o final del texto) de una celda o de un rango.
Ya se como utilizar la funcion "Trim" o "Espacios", pero quisiera tener una
macro que se ejecute sobre la misma celda, sin necesidad de una columna
auxiliar.
Es posible hacerlo?
Muchas gracias!
An.
 

Leer las respuestas

#1 Héctor Miguel
08/06/2005 - 06:08 | Informe spam
hola, Andrea !

... varias columnas y muchas filas... contienen textos de distintas longitudes.
... macro que elimine los espacios que sobran (dobles... al incio o final...) de una celda o de un rango.
... se como utilizar la funcion "Trim" o "Espacios"... quisiera... una macro... sin necesidad de una columna auxiliar.



prueba con alguna de las siguientes opciones de codigo en un modulo 'normal'...
requieren [o suponen] que la seleccion 'actual' SEA una celda o rango de celdas ->NO 'objetos'<-
saludos,
hector.
__ op1 __
Sub RemoverEspaciosExtra()
Selection = Application.Trim(Selection.Value)
End Sub
pros: [mas que]... 'sencilla' ;)
cons: si alguna celda dentro de la seleccion ES formula... se 'auto-convierte' a su resultado como 'constante' :-(
__ op2 __
Sub RemoverEspaciosExtra()
With Selection.SpecialCells(xlCellTypeConstants)
.Value = Application.Trim(.Value)
End With
End Sub
pros: [sigue siendo]... 'sencilla' Y 'omite' las celdas que tengan formula
cons: si son varios rangos 'discontinuos'... los 'segundos' rangos 'tomaran' TODOS el valor ->de la primer celda<- <= OJO
[la anterior tiene el mismo 'problema/comportamiento/...'] :-((
__ op3 __
Sub RemoverEspaciosExtra()
Dim Celda As Range
For Each Celda In Selection
If Not Celda.HasFormula Then Celda = Application.Trim(Celda)
Next
End Sub
pros: [parece que]... 'resuelve' los problemas de las anteriores ;)
cons: el 'barrido' de las celdas es ->una por una<- [pudiera resultar 'lento' el proceso] -?-

Preguntas similares