ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Delete Entire Row If Column C is Blank (https://www.excelbanter.com/excel-programming/304401-delete-entire-row-if-column-c-blank.html)

John

Delete Entire Row If Column C is Blank
 
I am trying to delete the entire row (and move all rows below up) if the
value in Column C for each row is blank. I have used the following code but
it throws up an Next Without For error, not sure where to go from here

Thanks



Sub DeleteZerosinIngredients()

With Application
.ScreenUpdating = False
.Calculation = xlManual
.MaxChange = 0.001
End With

Dim r As Range
For Each r In Selection

Sheets("Ingredient Mix").Select
With ActiveSheet
If Cells(r.Row, 3) = 0 Then r.EntireRow.Delete
Next

End With
With Application
.ScreenUpdating = True
.Calculation = xlAutomatic
.MaxChange = 0.001
End With
ActiveWorkbook.PrecisionAsDisplayed = False

End Sub



norika

Delete Entire Row If Column C is Blank
 
John

You may try the following

Columns("C:C").Select
Selection.SpecialCells(xlCellTypeBlanks).Select
Selection.Delete Shift:=xlUp

to replace
If Cells(r.Row, 3) = 0 Then r.EntireRow.Delete

HTH

noirk

--
Message posted from http://www.ExcelForum.com


John

Delete Entire Row If Column C is Blank
 
Thanks Norika

Tried it but still get the "Next Without For error"


"norika " wrote in message
...
John

You may try the following

Columns("C:C").Select
Selection.SpecialCells(xlCellTypeBlanks).Select
Selection.Delete Shift:=xlUp

to replace
If Cells(r.Row, 3) = 0 Then r.EntireRow.Delete

HTH

noirka


---
Message posted from http://www.ExcelForum.com/




Damien McBain

Delete Entire Row If Column C is Blank
 
John wrote:
I am trying to delete the entire row (and move all rows below up) if
the value in Column C for each row is blank. I have used the
following code but it throws up an Next Without For error, not sure
where to go from here

Thanks



Sub DeleteZerosinIngredients()

With Application
.ScreenUpdating = False
.Calculation = xlManual
.MaxChange = 0.001
End With

Dim r As Range
For Each r In Selection

Sheets("Ingredient Mix").Select
With ActiveSheet
If Cells(r.Row, 3) = 0 Then r.EntireRow.Delete
Next

End With
With Application
.ScreenUpdating = True
.Calculation = xlAutomatic
.MaxChange = 0.001
End With
ActiveWorkbook.PrecisionAsDisplayed = False

End Sub


I do it like this:

Sub deleterows()

'first select the column you want to analyse

For Each c In Selection

If Cells(c.Row, c.Column) = "" Then
c.EntireRow.Delete
Else
End If
Next c

End Sub



John

Delete Entire Row If Column C is Blank
 
Thanks but the code below still comes up with "Next without For" compile
error

Sub DeleteZerosinSalesMix()

With Application
.ScreenUpdating = False
.Calculation = xlManual
.MaxChange = 0.001
End With


For Each c In Selection

Sheets("Sales Mix").Select
With ActiveSheet


If Cells(c.Row, c.Column) = "" Then
c.EntireRow.Delete Shift:=xlUp
Else
End If
Next c

End With
With Application
.ScreenUpdating = True
.Calculation = xlAutomatic
.MaxChange = 0.001
End With
ActiveWorkbook.PrecisionAsDisplayed = False

End Sub



Damien McBain

Delete Entire Row If Column C is Blank
 
It worked for me without all your additional code in it.


John wrote:
Thanks but the code below still comes up with "Next without For"
compile error

Sub DeleteZerosinSalesMix()

With Application
.ScreenUpdating = False
.Calculation = xlManual
.MaxChange = 0.001
End With


For Each c In Selection

Sheets("Sales Mix").Select
With ActiveSheet


If Cells(c.Row, c.Column) = "" Then
c.EntireRow.Delete Shift:=xlUp
Else
End If
Next c

End With
With Application
.ScreenUpdating = True
.Calculation = xlAutomatic
.MaxChange = 0.001
End With
ActiveWorkbook.PrecisionAsDisplayed = False

End Sub






All times are GMT +1. The time now is 03:18 AM.

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