See RED for solution to your question (again same technique)
But have you thought about removing all #N/A values from data tables and clearing those cell values?
see code in this colour
If you remove all #N/A values then IsNumeric tests would not be required 
Sub CopyTables()
Dim ws As Worksheet, stockview As Worksheet
Dim t As ListObject, copyTable As Boolean
Dim aCell As Range, dCell As Range, aCellAddr As String, tAddr As String
Dim tCount As Integer, tRows As Integer
Dim D1, D2, D3, D4, D5
Dim rng As Range, cel As Range
Set ws = Sheets("Processing")
Set stockview = Sheets("STOCKVIEW")
tCount = ws.ListObjects.Count
Set rng = ws.Range("A1", ws.Range("D" & Cells.Rows.Count).End(xlUp))
For Each cel In rng
If Application.WorksheetFunction.IsNA(cel.Value) Then
cel.ClearContents
End If
Next cel
For i = tCount To 1 Step -1
Set t = ws.ListObjects(i)
Set aCell = t.DataBodyRange(t.ListRows.Count, 1)
tAddr = t.Range.Address(0, 0)
tRows = t.Range.Rows.Count
aCellAddr = aCell.Address(0, 0)
'values in column D
Set dCell = aCell.Offset(, 3)
D1 = dCell.Value
D2 = dCell.Offset(-1).Value
D3 = dCell.Offset(-2).Value
D4 = dCell.Offset(-3).Value
If IsNumeric(D1) And IsNumeric(D4) Then
D5 = Abs(D1 - D4)
End If
'conditions to satisfy
copyTable = False
If IsNumeric(aCell.Value) Then
If aCell.Value < -0.1 Then copyTable = True
If aCell.Value > 0.1 Then copyTable = True
End If
If IsNumeric(D1) And IsNumeric(D2) And IsNumeric(D3) And IsNumeric(D4) Then
If D1 > D2 And D2 > D3 And D3 > D4 And D5 > 0.1 Then copyTable = True
If D1 < D2 And D2 < D3 And D3 < D4 And D5 > 0.1 Then copyTable = True
End If
'copy table
If copyTable = True Then
stockview.Rows("1:" & tRows).Insert Shift:=xlDown
t.Range.Copy stockview.Range("A1")
Else
'do not copy this table
End If
Next i
End Sub
Bookmarks