delete rows on value
Assumng the code is in a general/standardd module, the code looks good. If
it isn't deleting the rows, then there is more than the value N in the missed
rows. Perhaps using
Sub Delete_N_MarkedRows()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Dim lastrow As Long, r As Long
lastrow = ActiveSheet.UsedRange.Rows.Count
For r = lastrow To 1 Step -1
If Instr(1,Cells(r, 3).Value,"N",vbTextcompare) Then Rows(r).Delete
Next r
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub
or use Ucase(trim(cells(r,3)) in your original code it the culprit could be
spaces.
the correct answer depends on what is in the cells - knowledge only
available to you.
--
Regards,
Tom Ogilvy
"Gordon" wrote:
Hi...
When I use the code below it doesn't work. I want to delete any row where
the an N is found in column C. Can anyone fix this for me. The problem is
that it only deletes a few at a time and I don't know why.
Sub Delete_N_MarkedRows()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Dim lastrow As Long, r As Long
lastrow = ActiveSheet.UsedRange.Rows.Count
For r = lastrow To 1 Step -1
If UCase(Cells(r, 3).Value) = "N" Then Rows(r).Delete
Next r
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub
|