try this version, at least the headers stay
Set workon = Sheets("work on")
Set sinput = Sheets("InPut Data & Macro's")
lrow = workon.Cells(workon.Rows.Count, 1).End(xlUp).Row
Set rowstodel = workon.Range("a" & lrow + 1)
For Each cel In workon.Range("a2:a" & lrow)
For Each c In sinput.Range("e3:e16")
If IsEmpty(c) Then Exit For
If InStr(1, cel, c, vbTextCompare) > 0 Then
For Each d In sinput.Range("f3:f16")
If IsEmpty(d) Then Exit For
If InStr(1, cel.Offset(, 10), d, vbTextCompare) > 0 Then
For Each e In sinput.Range("g3:g16")
If IsEmpty(e) Then Exit For
If InStr(1, cel.Offset(, 14), e, vbTextCompare) > 0 Then
fnd = True
Exit For
End If
Next e
If fnd Then Exit For
End If
Next d
If fnd Then Exit For
End If
Next c
If Not fnd Then
del = True
Set rowstodel = Union(rowstodel, cel)
Else
fnd = False
End If
Next cel
If del Then
rowstodel.EntireRow.Delete
Else
MsgBox "all rows contain one of the values, nothing deleted"
End If