View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
JLGWhiz[_2_] JLGWhiz[_2_] is offline
external usenet poster
 
Posts: 1,565
Default simple little loop

Why not:

If cell.Value < "" Then
cell.Offset(0, 1).FormulaR1C1 = "=RC[-6]*RC[-7]"
End If

The ActiveCell might not be the same as cell. You could be putting formulas
in places that you did not intend to put them. With the above code, you do
not need to use the second offset to return the focus to column I because it
never leaves it and the For next will take care of moving to the next row.



"ryguy7272" wrote in message
...
I'm stuck on a simple little loop late on a Friday night:

Dim redRng As Range
Dim longrow As Long
longrow = Cells(Rows.Count, "I").End(xlUp).Row

Set redRng = Range("I4", Range("I" & longrow).End(xlUp))
For Each cell In redRng

If cell.Value < "" Then
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "=RC[-6]*RC[-7]"
ActiveCell.Offset(1, -1).Select
End If

Next cell

My loop seems to run four times and then quits. I guess it comes from the
I4, but I'm not sure why it's doing that. Is there a better, clearer, way
to
do this?

Thanks,
Ryan--


--
Ryan---
If this information was helpful, please indicate this by clicking ''Yes''.