Delete Rows

E

EJ

Sub DeleteRows()
Dim i As Long, LastRow As Long
LastRow = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row

For i = LastRow To 1 Step -1
If Cells(i, 6) >= 0 Then Rows(i).Delete
Next


End Sub

I would like to get some help with this macro. Currently it is deleting
more rows than I want it to delete. I would like it to

Look at each row in Column A.

If the row in Column A has contents in it than check the same row of Column
F.

If the contents in Column F are equal to or greater than “0†delete the row
and keep deleting the rows below it until Column A has contents in it again.

Repeat for every row in Column A and Column F.
 
J

Jacob Skaria

Sub DeleteRows()
Dim i As Long, LastRow As Long
LastRow = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row

For i = LastRow To 1 Step -1
If Cells(i, 1) <> ""
If Cells(i, 6) >= 0 Then Rows(i).Delete
End If
Next


End Sub
 
E

EJ

When I first ran the macro I got a message that said “Compile Error: Syntax
Error†so I added “Then†to this line If Cells(i, 1) <> "" Then, which made
the macro look like this

Sub DeleteRows()
Dim i As Long, LastRow As Long
LastRow = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row

For i = LastRow To 1 Step -1
If Cells(i, 1) <> "" Then

If Cells(i, 6) >= 0 Then Rows(i).Delete
End If
Next


End Sub


And it worked but not in all cases. For some reason one row with “0†did
not get deleted. And a couple other rows in Columns H:O that should have been
deleted didn’t get deleted. Could the code be changed instead so that the
macro

Selects a range that begins in Column A and selects to the right until
Column O is included and selects down a number of rows and stops above the
next row in Column A with contents inside of it. Then it looks in Column F
at the first row in the selected range. If the contents inside Column F are
= 0 then all the rows in the selected range get deleted. If not then the
macro moves to the next range and the pattern continues. What do you think?
 

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

Top