Delete Macro based on condition in Two Columns

H

Hadi

Hello,

I have these two macros. there similar one delete rows based on value in
Col. C and the other deletes rows based on values in Col A. Now I want to
combine the two so I only have one macro to run. here are both Macros

Sub DeleteBlankPCCRows()
Dim i As Long, LastRow As Long
Application.ScreenUpdating = False

'finds last used row in column A
LastRow = Range("A" & Rows.Count).End(xlUp).Row

'begin loop to check each row
For i = LastRow To 7 Step -1
'if cell= blank, delete row
If Cells(i, "A") = "" Then Rows(i).Delete
Next i

Application.ScreenUpdating = True
End Sub

And the second one is

Sub DeleteUnusedRows()

Dim i As Long, LastRow As Long
Application.ScreenUpdating = False

'finds last used row in column C
LastRow = Range("C" & Rows.Count).End(xlUp).Row

'begin loop to check each row
For i = LastRow To 7 Step -1
'if cell= 0, delete row
If Cells(i, "C") = 0 Then Rows(i).Delete
Next i

Application.ScreenUpdating = True
End Sub
 
M

Mike H

Hadi,

This now combines the 2 but note I made a change to column C. In your code
If Cells(i, "C") = 0 Then Rows(i).Delete
would delete the row if the cell was empty OR zero.

In my code it must contain a 0 to be deleted

Sub DeleteBlankPCCRows()
Dim i As Long, LastRow As Long
Application.ScreenUpdating = False

'finds last used row in column A
LastRow = Range("A" & Rows.Count).End(xlUp).Row

'begin loop to check each row
For i = LastRow To 7 Step -1

'if cell= blank, delete row
If Cells(i, "A") = "" Or Cells(i, "C") <> "" _
And Cells(i, "C") = 0 Then Rows(i).Delete

Next i

Application.ScreenUpdating = True
End Sub


Mike
 
H

Hadi

Great! it works.

thanks Mike.

Mike H said:
Hadi,

This now combines the 2 but note I made a change to column C. In your code
If Cells(i, "C") = 0 Then Rows(i).Delete
would delete the row if the cell was empty OR zero.

In my code it must contain a 0 to be deleted

Sub DeleteBlankPCCRows()
Dim i As Long, LastRow As Long
Application.ScreenUpdating = False

'finds last used row in column A
LastRow = Range("A" & Rows.Count).End(xlUp).Row

'begin loop to check each row
For i = LastRow To 7 Step -1

'if cell= blank, delete row
If Cells(i, "A") = "" Or Cells(i, "C") <> "" _
And Cells(i, "C") = 0 Then Rows(i).Delete

Next i

Application.ScreenUpdating = True
End Sub


Mike
 

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