how can I delete rows based on column value

  • Thread starter Thread starter mike
  • Start date Start date
M

mike

How can I delete certain rows of my worksheet that has a specific value in a
specific column. For example, delete all rows that have a value of '0' in
column 'C'??

Mike
 
apply an autofilter to column C, filter on 0, and then just delete the
visible rows.
 
The following works for one "0". You can build a loop around this and use
FindNext() to locate others.

Option Explicit
Sub find()

Dim c As Range
Set c = Range("C:C").find(What:="0")
Rows(c.Row).Delete

End Sub
 
I gues I could just sort and delete, that's even simpler. I don't really need
to preserve thorder.
 
This shoudl do the trick.

Sub DeleteRows()

Dim i As Long
Dim LastRow As Long

LastRow = Sheets("Sheet1").Cells(Rows.Count, "C").End(xlUp).Row

For i = LastRow To 1 Step -1
If Range("C" & i) = 0 Then
Range("C" & i).EntireRow.Delete
End If
Next i

End Sub
 
Sub DeleteRows_With_Zero()
FindString = "0"
Set b = Range("C:C").Find(what:=FindString, lookat:=xlWhole)
While Not (b Is Nothing)
b.entirerow.Delete
Set b = Range("C:C").Find(what:=FindString, lookat:=xlWhole)
Wend
End Sub


Gord Dibben MS Excel MVP
 

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

Back
Top