View Single Post
  #8   Report Post  
FernW
 
Posts: n/a
Default

Pete,
I tried it twice and got the message: Object required

Fern


"Peter Rooney" wrote:

Fern,

I modified the code a bit while you were away - now it aligns any numbers to
the right and any labels to the left, too. I defined a range variable
SearchRange and set it to refer to a range of cells at the beginning of the
procedure - you could equally set it to "A1:A10000" if you want, but
remember, the bigger the range, the longer the macro will take to run - no
point scanning it all if you never fill more than 500 rows!

Sub TrimStrings()
Dim TrimCell As Object
Dim SearchRange As Range

'Set SearchRange = ActiveSheet.Range("P1:P50")

For Each TrimCell In SearchRange
If IsNumeric(Trim(TrimCell.Formula)) Then
With TrimCell
.Formula = Trim(Str(TrimCell.Formula))
.HorizontalAlignment = xlRight
End With
Else
With TrimCell
.Formula = Trim(TrimCell.Formula)
.HorizontalAlignment = xlLeft
End With
End If
Next TrimCell
End Sub

Hope this helps

Pete


"FernW" wrote:

Hi Peter,
Thanks so much for your response. This worked perfectly. Is there any way to
add a couple of lines so I can select the whole column rather than just the
rows that contain data? I tried to do it by adding an If... Then but it
didn't work.

Thanks.
Fern


"Peter Rooney" wrote:

You could select the range of cells containing the values then run this
little macro...

Sub TrimStrings()
Dim TrimCell As Object
For Each TrimCell In Selection
TrimCell.Value = Trim(Str(TrimCell.Value))
Next TrimCell
End Sub

Hope this helps

Pete



"FernW" wrote:

I have a column of numbers that were imported from a web site and they won't
sort correctly. I have tried reformatting the cells as general numbers but
that doesn't change anything. I discovered that numbers below 100 have a
space or invisible data in front of the number. If I remove it, the number
then shifts to right alignment in the cell and will sort as a number. Is
there any way I can remove these spaces from all numbers at once instead of
going down the column row by row?