[vba]

Sub DEL_Code()
Const FORMULA_TEST As String = _
"=OR(L2<>""00000000"",Q2<>""00000000""," & _
"OR(LEFT(M2,1)={""W"",""D"",""E"",""Q""}),OR(M2={""O3"",""O4""})," & _
"OR(LEFT(R2,1)={""W"",""D"",""E"",""Q""}),OR(R2={""O3"",""O4""}))"
Dim i As Long, lastrow As Long
Dim rng As Range
Dim Start As Double, Finish As Double

Start = Timer

With Application
.Calculation = xlCalculationManual
.ScreenUpdating = False
End With

With ActiveSheet

lastrow = Cells.SpecialCells(xlCellTypeLastCell).Row

.Columns(20).Insert
.Rows(1).Insert
.Range("T1") = "temp"
.Range("T2").Resize(lastrow).Formula = FORMULA_TEST

Set rng = .Range("T1").Resize(lastrow + 1)
rng.AutoFilter Field:=1, Criteria1:="=TRUE"
On Error Resume Next
Set rng = rng.SpecialCells(xlCellTypeVisible)
On Error GoTo 0

If Not rng Is Nothing Then rng.Delete

.Columns(20).Delete
End With


With Application
.Calculation = xlCalculationAutomatic
.ScreenUpdating = True
End With

Finish = Timer
MsgBox "Delete Time: " & Finish - Start & " Second"

End Sub
[/vba]