Try the following:
Sub try()
Dim Last1 As Long
Dim colType As Integer, colData As Integer
With ThisWorkbook.Sheets("report")
Last1 = .Cells(.Rows.Count, "A").End(xlUp).Row
colType = .Range("Table1[type]").Column
colData = .Range("Table1[data]").Column
For p = Last1 To 1 Step -1
If .Cells(p, colType) = "active" And .Cells(p, colData) <> "" Then
.Cells(p, "A").EntireRow.Delete
End If
Next p
End With
End Sub
, , :
Sub test2()
Dim rng As Range
Dim i As Long
With ThisWorkbook.Sheets("report").ListObjects("Table1")
.Range.AutoFilter
.Range.AutoFilter Field:=.ListColumns("type").Index, _
Criteria1:="=active"
.Range.AutoFilter Field:=.ListColumns("data").Index, _
Criteria1:="<>"
.Range.Offset(1).EntireRow.Delete
.Range.AutoFilter
End With
End Sub