ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Worksheet Functions (https://www.excelbanter.com/excel-worksheet-functions/)
-   -   Deleting rows (with zeros) with a macro (https://www.excelbanter.com/excel-worksheet-functions/226983-deleting-rows-zeros-macro.html)

ToddS

Deleting rows (with zeros) with a macro
 
I used the macro below and it works perfectly except when I try to use it
for cells that contain formulas. Example:

Sub Delete Rows()
Dim RowNdx As Long
Dim LastRow As Long
StartRow = 2
LastRow = ActiveSheet.UsedRange.Rows.Count
For RowNdx = LastRow To 1 Step -1
If Cells(RowNdx, "F").Value = "0" Then
Rows(RowNdx).Delete
End If
Next RowNdx
End Sub

My questions is, can I somehow modify this macro to recognize a zero value
when that value is not "hard coded" in the cell but populated via a formula?


Mike H

Deleting rows (with zeros) with a macro
 
Hi,

Try this

Sub DeleteRows()
Dim RowNdx As Long
Dim LastRow As Long
StartRow = 2
LastRow = ActiveSheet.UsedRange.Rows.Count
For RowNdx = LastRow To 1 Step -1
If Not Cells(RowNdx, "F").HasFormula And _
Cells(RowNdx, "F").Value = 0 Then
Rows(RowNdx).Delete
End If
Next RowNdx
End Sub

Mike

"ToddS" wrote:

I used the macro below and it works perfectly except when I try to use it
for cells that contain formulas. Example:

Sub Delete Rows()
Dim RowNdx As Long
Dim LastRow As Long
StartRow = 2
LastRow = ActiveSheet.UsedRange.Rows.Count
For RowNdx = LastRow To 1 Step -1
If Cells(RowNdx, "F").Value = "0" Then
Rows(RowNdx).Delete
End If
Next RowNdx
End Sub

My questions is, can I somehow modify this macro to recognize a zero value
when that value is not "hard coded" in the cell but populated via a formula?


Mike H

Deleting rows (with zeros) with a macro
 
Hi,

maybe I got it the wrong way around, use this if you want to delete formula
that evaluate as zero

Sub DeleteRows()
Dim RowNdx As Long
Dim LastRow As Long
StartRow = 2
LastRow = ActiveSheet.UsedRange.Rows.Count
For RowNdx = LastRow To 1 Step -1
If Cells(RowNdx, "F").HasFormula And _
Cells(RowNdx, "F").Value = 0 Then
Rows(RowNdx).Delete
End If
Next RowNdx
End Sub

Mike

"Mike H" wrote:

Hi,

Try this

Sub DeleteRows()
Dim RowNdx As Long
Dim LastRow As Long
StartRow = 2
LastRow = ActiveSheet.UsedRange.Rows.Count
For RowNdx = LastRow To 1 Step -1
If Not Cells(RowNdx, "F").HasFormula And _
Cells(RowNdx, "F").Value = 0 Then
Rows(RowNdx).Delete
End If
Next RowNdx
End Sub

Mike

"ToddS" wrote:

I used the macro below and it works perfectly except when I try to use it
for cells that contain formulas. Example:

Sub Delete Rows()
Dim RowNdx As Long
Dim LastRow As Long
StartRow = 2
LastRow = ActiveSheet.UsedRange.Rows.Count
For RowNdx = LastRow To 1 Step -1
If Cells(RowNdx, "F").Value = "0" Then
Rows(RowNdx).Delete
End If
Next RowNdx
End Sub

My questions is, can I somehow modify this macro to recognize a zero value
when that value is not "hard coded" in the cell but populated via a formula?


ToddS

Deleting rows (with zeros) with a macro
 
PERFECT!!! Thank you VERY MUCH!!! (It was your second response that I
needed - thanks also for catching that)

"Mike H" wrote:

Hi,

maybe I got it the wrong way around, use this if you want to delete formula
that evaluate as zero

Sub DeleteRows()
Dim RowNdx As Long
Dim LastRow As Long
StartRow = 2
LastRow = ActiveSheet.UsedRange.Rows.Count
For RowNdx = LastRow To 1 Step -1
If Cells(RowNdx, "F").HasFormula And _
Cells(RowNdx, "F").Value = 0 Then
Rows(RowNdx).Delete
End If
Next RowNdx
End Sub

Mike

"Mike H" wrote:

Hi,

Try this

Sub DeleteRows()
Dim RowNdx As Long
Dim LastRow As Long
StartRow = 2
LastRow = ActiveSheet.UsedRange.Rows.Count
For RowNdx = LastRow To 1 Step -1
If Not Cells(RowNdx, "F").HasFormula And _
Cells(RowNdx, "F").Value = 0 Then
Rows(RowNdx).Delete
End If
Next RowNdx
End Sub

Mike

"ToddS" wrote:

I used the macro below and it works perfectly except when I try to use it
for cells that contain formulas. Example:

Sub Delete Rows()
Dim RowNdx As Long
Dim LastRow As Long
StartRow = 2
LastRow = ActiveSheet.UsedRange.Rows.Count
For RowNdx = LastRow To 1 Step -1
If Cells(RowNdx, "F").Value = "0" Then
Rows(RowNdx).Delete
End If
Next RowNdx
End Sub

My questions is, can I somehow modify this macro to recognize a zero value
when that value is not "hard coded" in the cell but populated via a formula?


Mike H

Deleting rows (with zeros) with a macro
 
Glad I could help

"ToddS" wrote:

PERFECT!!! Thank you VERY MUCH!!! (It was your second response that I
needed - thanks also for catching that)

"Mike H" wrote:

Hi,

maybe I got it the wrong way around, use this if you want to delete formula
that evaluate as zero

Sub DeleteRows()
Dim RowNdx As Long
Dim LastRow As Long
StartRow = 2
LastRow = ActiveSheet.UsedRange.Rows.Count
For RowNdx = LastRow To 1 Step -1
If Cells(RowNdx, "F").HasFormula And _
Cells(RowNdx, "F").Value = 0 Then
Rows(RowNdx).Delete
End If
Next RowNdx
End Sub

Mike

"Mike H" wrote:

Hi,

Try this

Sub DeleteRows()
Dim RowNdx As Long
Dim LastRow As Long
StartRow = 2
LastRow = ActiveSheet.UsedRange.Rows.Count
For RowNdx = LastRow To 1 Step -1
If Not Cells(RowNdx, "F").HasFormula And _
Cells(RowNdx, "F").Value = 0 Then
Rows(RowNdx).Delete
End If
Next RowNdx
End Sub

Mike

"ToddS" wrote:

I used the macro below and it works perfectly except when I try to use it
for cells that contain formulas. Example:

Sub Delete Rows()
Dim RowNdx As Long
Dim LastRow As Long
StartRow = 2
LastRow = ActiveSheet.UsedRange.Rows.Count
For RowNdx = LastRow To 1 Step -1
If Cells(RowNdx, "F").Value = "0" Then
Rows(RowNdx).Delete
End If
Next RowNdx
End Sub

My questions is, can I somehow modify this macro to recognize a zero value
when that value is not "hard coded" in the cell but populated via a formula?



All times are GMT +1. The time now is 04:10 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com