View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
crazybass2 crazybass2 is offline
external usenet poster
 
Posts: 167
Default autoFill column equal to adjacent column

Paul,

Try this in your module...

Option Explicit
Dim cell As Range
Sub stripzip()
For Each cell In Range("A:A")
If Len(cell) = 9 And IsNumeric(cell) Then
Cells(cell.Row, 2) = Left(cell.Value, 5) 'Could Delete
Cells(cell.Row, 3) = "-" 'Could Delete
Cells(cell.Row, 4) = Right(cell.Value, 4) 'Could Delete
Cells(cell.Row, 5) = Left(cell.Value, 5) & "-" & Right(cell.Value, 4)
End If
Next cell
End Sub

This will do exactly as you specified. IMHO you can cut out the
intermediate steps (Marked with 'Could Delete) and save some run time.

Mike

"Paulg" wrote:


I have a macro that takes a 9 digit number from one cell and converts it
into a zipcode + 4 number.

If the number is in A1 I set focus on B1 and =left(a1,5), then in C1 I
put the dash, (-) in d1 =right(A1,4) then I concatentate the 3 cells in
E1, and then autofill the columns down to the last row with the 9 digit
number.

My problem is that the incoming sheets can have rows fro 100 to 10,000
so in the Macro I have to set the autofill command to 10,005 to make
sure I fill the sheet far enough. Of course, when I have a sheet of
100, I have to go back and delete all the dashes that filled to row
10,005.

Is there a way to autofill the inserted columns to the same row as the
original column with the 9 digits in it???

Thanks

Paul


--
Paulg
------------------------------------------------------------------------
Paulg's Profile: http://www.excelforum.com/member.php...o&userid=36077
View this thread: http://www.excelforum.com/showthread...hreadid=561623