View Single Post
  #5   Report Post  
Posted to microsoft.public.excel.programming
Norman Jones Norman Jones is offline
external usenet poster
 
Posts: 5,302
Default Limit the Loop to 500 Rows

Hi Steve,

Since you:

Set c = Range("A1")


c.Row has a fixed value of 1 and the loop ending condition:

Do Until c.Row 500


is never met and , thus, you have a continuos loop.

Additionally, your code makes selections which are rarely necessary and
usually inefficient.

The following may do what you want - if not, post back:

Sub Tester()
Dim startCell As Range, endCell As Range
Dim rcell As Range

Set startCell = Range("C1")
Set endCell = startCell.End(xlDown)

For Each rcell In Range(startCell, endCell)
If rcell.Row 500 Then Exit For
rcell.Insert Shift:=xlToRight
Next

End Sub

---
Regards,
Norman



"SteveF" wrote in message
...
Here is the code - It still goes to the bottom of the sheet and keeps
trying to run. What have I done wrong. Thanks
Steve
Dim c As Range
Set c = Range("A1")

Range("C1").Select
Selection.End(xlDown).Select
Do Until c.Row 500
Selection.Insert Shift:=xlToRight
Selection.End(xlDown).Select
Loop
MsgBox ("Finished!")

On Sat, 25 Jun 2005 22:35:17 -0400, "Vasant Nanavati" <vasantn AT aol
DOT com wrote:

If you post the relevant code it would be helpful. But in general:

Dim c As Range
Set c = Range("A1")
Do Until c.Row 500
Debug.Print c.Row
Set c = c.Offset(1)
Loop