[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]