Thread: Delete Rows
View Single Post
  #6   Report Post  
Posted to microsoft.public.excel.programming
Dave Peterson[_3_] Dave Peterson[_3_] is offline
external usenet poster
 
Posts: 2,824
Default Delete Rows

try this change:
range(cell,rng).EntireRow.Delete

In fact, for testing, I like this:
range(cell,rng).EntireRow.Select

When it works, change .select to .delete



jerry chapman wrote:

I changed -- range(cells(cell,rng).EntireRow.Delete
to -- range(cells(cell,rng).EntireRow).Delete and I got an
error on the first out of order row. It appears that this code would only
delete the first out of order row (when it works). I would like to delete
all rows after the first out of order row. Presumably I could do that by
looping through the rest of the row and using the .Delete command (when it
is fixed);

"Tom Ogilvy" wrote in message
...
Dim rng as Range, cell as Range
set rng = Cells(rows.count,1).End(xlup)
set cell = range("A2")
do while cell.value < ""
if cell.Value < cell.offset(-1,0).Value then
range(cells(cell,rng).EntireRow.Delete
exit do
end if
set cell = cell.offset(1,0)
Loop

--
Regards,
Tom Ogilvy

"jerry chapman" wrote in message
...
I have an Excel file which is sorted ascending by column one. I would

like
to write a macro to verify that, and if I find a row which is out of

order
I
would like to delete that row and all subsequent rows. How could I do

that?





--

Dave Peterson