Delete an entire row

O

One-Leg

Hello,

What can I add in a macro that will seach cells N2:N65536 and if one cell
has the value "0", to delete that entire row (where the "0" was found)???
 
O

One-Leg

CORRECTION:

I would like to search every cell in column "N" and if a zero is found, to
clear the cells "K", "L", "N" and "O" of that specific row.
 
O

One-Leg

Thanks but I'm looking for a way to have this done via a Macro!!!

I already have a macro that copies some values from one place to another and
at one poitn in time, I need to clear every rows where "0" is found in column
"N".
 
M

Mike

Sub deleterows()
Const sZeroAs String = "0"
Dim rngColumnN As Range
Dim i As Long

Set rngColumnN = _
ActiveSheet.Range(Cells(1, "A"), Cells(Rows.Count, "A").End(xlUp))
'Work backwards from bottom to top when deleting rows
Application.ScreenUpdating = False
With rngColumnN
For i = .Rows.Count To 2 Step -1
If .Cells(i) <> sUSA Then
.Cells(i).EntireRow.Delete
End If
Next i
End With
Application.ScreenUpdating = True
End Sub
 
M

Mike

Replace this line in my other post
FROM:ActiveSheet.Range(Cells(1, "A"), Cells(Rows.Count, "A").End(xlUp))
TO:ActiveSheet.Range(Cells(1, "N"), Cells(Rows.Count, "N").End(xlUp))
 
O

One-Leg

Hello,

I added the following to my Macro and it doesn't remove the rows where a "0"
is found in cell(s) in column "N".

===================================
Const sZeroAsString = "0"
Dim rngColumnN As Range
Dim i As Long
Set rngColumnN = _
ActiveSheet.Range(Cells(1, "N"), Cells(Rows.Count, "N").End(xlUp))
' Work backwards from bottom to top when deleting rows
With rngColumnN
For i = .Rows.Count To 2 Step -1
If .Cells(i) <> sUSA Then
.Cells(i).EntireRow.Delete
End If
Next i
End With
===================================

What am I doing wrong???
 
M

Mike

sorry try this
Const sZero As String = "0"
Dim rngColumnN As Range
Dim i As Long
Set rngColumnN = _
ActiveSheet.Range(Cells(1, "N"), Cells(Rows.Count, "N").End(xlUp))
' Work backwards from bottom to top when deleting rows
With rngColumnN
For i = .Rows.Count To 2 Step -1
If .Cells(i) <> sZero Then
..Cells(i).EntireRow.Delete
End If
Next i
End With
 
S

ShaneDevenshire

Hi,

I didn't check your code but I suggest turning on the recorder and doing the
steps suggested by TM and then going back and generalizing to your situation.
 
O

One-Leg

Technically, I just need to know what code I must enter in a macro to clear
an entire row when the value "0" is found in column "N".
 
M

Mike

very sorry this will work for sure
Sub delete()
Const sZero As String = "0"
Dim rngColumnN As Range
Dim i As Long
Set rngColumnN = _

ActiveSheet.Range(Cells(1, "N"), Cells(Rows.Count, "N").End(xlUp))
' Work backwards from bottom to top when deleting rows
With rngColumnN
For i = .Rows.Count To 2 Step -1
If .Cells(i) = sZero Then
..Cells(i).EntireRow.delete
End If
Next i
End With
End Sub
 
M

Mike

replace this in my last post
From: .Cells(i).EntireRow.delete
To: .Cells(i).EntireRow.clear
 
M

Mike

Whats not working............? I have tested this and where there is a zero
in column N it will delete that entire row. You need to give more detail then
Not Working....

Whats's not working ?
Sub deleteZeroRows()
Const sZero As String = "0"
Dim rngColumnN As Range
Dim i As Long
Set rngColumnN = ActiveSheet.Range(Cells(1, "N"), _
Cells(Rows.Count, "N").End(xlUp))
' Work backwards from bottom to top when deleting rows
With rngColumnN
For i = .Rows.Count To 2 Step -1
If .Cells(i) = sZero Then
..Cells(i).EntireRow.delete
'.Cells(i).EntireRow.Clear
End If
Next i
End With
End Sub
 

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