Simple For-Loop gives 1004 error using variable to EntireRow.Delete

  • Thread starter Thread starter EdMX
  • Start date Start date
E

EdMX

Sorry I'm a real newbie to Excel and VB but here goes:
Why does this code give me an error in Excel?

Sub Eds1()
Dim i As Integer
For i = 0 To 200 Step 2
Sheet1.Rows(i).EntireRow.Delete
Next i
End Sub
 
Hi,

this is because the rows in Excel start at 1, but yout loop (that references
the rows) starts at 0

so try this:
For i = 1 To 200 Step 2
Sheet1.Rows(i).EntireRow.Delete
Next i

HTH

Philip
 
In the first loop it tries to delete row zero. There is no row zero.
The first row is 1. Perhaps this change will achieve your goal:

For i = 1 to 200 Step 2

HTH,
Steve Hieb
 
And after you look at your results, you may want to start at the bottom and work
up:

Sub Eds2()
Dim i As Long
For i = 200 To 1 Step -2
Sheet1.Rows(i).EntireRow.Delete
Next i
End Sub
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top