This should do it, it uses a loop, but only for the evaluation, for deleting it deletes all the found rows all at once which should be significantly more efficient.
Option Explicit
Sub DeleteProducts()
'Author: Jerry Beaucaire
'Date: 1/5/2010
'Summary: Flag rows with specific values for deletion, delete all at once
Dim LR As Long, i As Long, RNG As Range
LR = Range("M" & Rows.Count).End(xlUp).Row
For i = 1 To LR
Select Case Cells(i, "M").Value
Case "c1000", "316140a", "316140", "316295a", "316295", "316311a", "316311", "316451a", "316451", "316450a", "316450", "316452a", "316452"
If RNG Is Nothing Then
Set RNG = Cells(i, "M")
Else
Set RNG = Union(RNG, Cells(i, "M"))
End If
End Select
Next i
RNG.EntireRow.Delete xlShiftUp
End Sub
Bookmarks