why is my loop so slow?

B

Buffyslay

what i need to do is delete any rows where col b = 0 or 2?


For conCat2 = 2 To iCountA
If ActiveCell.Value = 2 Then
ActiveCell.EntireRow.Delete
ElseIf ActiveCell.Value = 0 Then
ActiveCell.EntireRow.Delete

Else
ActiveCell.Offset(1, 0).Activate
End If
Next
 
G

Guest

well, there are much better ways to do it (bottom)
but for starters, turn off screen updating before you run it.. that's one of
the most time intensive tasks for VBA is updating the screen.

application.screenupdating = false

after the loop turn it back on

application.screenupdating = true

that in itself will help you tremendously.


***
to streamline it, you could sort by column b first then you know all the
rows are together as well.
typically if I do something like that but want to preserve my original
order, I'll add an order column before any work is done..
 

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

Similar Threads


Top