error in macro (next related i think)

S

steven

Hi, i use the following macro to delete rows from a worksheet

Sheets("MOBILE TOTAL").Select
lr = Cells(Rows.Count, "e").End(xlUp).Row
For i = lr To 2 Step -1
If Cells(i, "e") <> "overhead" And _
Cells(i, "e") <> "OPERATIONS" Then Rows(i).Delete
Next i

eveerything works fine, now i want to use it to delete rows 4 differest
worksheets in the same workbook so i figure i make it like this:


Sub MOBILEKAPNISIS()

Sheets("MOBILE TOTAL").Select
lr = Cells(Rows.Count, "e").End(xlUp).Row
For i = lr To 2 Step -1
If Cells(i, "e") <> "overhead" And _
Cells(i, "e") <> "OPERATIONS" Then Rows(i).Delete
Next i

Sheets("VOICE TOTAL").Select
lr = Cells(Rows.Count, "e").End(xlUp).Row
For i = lr To 2 Step -1
If Cells(i, "e") <> "overhead" And _
Cells(i, "e") <> "OPERATIONS" Then Rows(i).Delete
Next i

Sheets("BLACKBERRY TOTAL").Select
lr = Cells(Rows.Count, "g").End(xlUp).Row
For i = lr To 2 Step -1
If Cells(i, "g") <> "overhead" And _
Cells(i, "g") <> "OPERATIONS" Then Rows(i).Delete
Next i

Sheets("DATA TOTAL").Select
lr = Cells(Rows.Count, "g").End(xlUp).Row
For i = lr To 2 Step -1
If Cells(i, "g") <> "overhead" And _
Cells(i, "g") <> "OPERATIONS" Then Rows(i).Delete
Next i

End Sub

but nope it dosent work, anyone can help me out?

thanks in advance.
 
E

eliano

Hi steven.
Try to change:
If Cells(i, "e") <> "overhead" And _
Cells(i, "e") <> "OPERATIONS" Then Rows(i).Delete
as:

If Cells(i, "e") <> "overhead" Or _
Cells(i, "e") <> "OPERATIONS" Then Rows(i).Delete

Probably the cells cannot contain "overhead" AND
"OPERATIONS" but OR the First OR the second.
Regards
Eliano
 
J

JLGWhiz

Your code works. I set up as test with data in columns E and G and it
deleted the rows that did not have overhead or OPERATIONS in those columns.
The problem might be in the assignment of the last row. Try using the sheet
designation for each variable assignment for the last row like this example.

lr = Sheets(MOBILE TOTAL").Cells(Rows.Count, "E").End(xlUp).Row

When I checked the last row in my sample, using your original code, it was
still using the last row for column E on a worksheet that should have been
for column G. If column E had been blank then it would have done nothing.
By qualifying the Cells designation with the worksheet, it then used column g
to find the last row.
Check it out and see if it solves the problem. If not, then post back.
 
J

JLGWhiz

I'm not so sure that is a good idea. eliano. Using Or would cause it to
equal True if one of the words appear in the cell. I believe he wants it to
be true only if neither of the the words appear.
 
E

eliano

Hi JL.

Probably, due to my poor english, i have not understood the question.
Many thanks & regards,
Eliano
 

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