![]() |
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? |
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? |
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? |
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? |
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