Functions can be dodgy when asked to do things on sheets, sometimes they work but mostly not, really they're only supposed to return values.
In the attached you'll find a button on sheet PPV-Oracle (note it's not IPV-Oracle) in the vicinity of cell ZZ1.
Clicking it runs this macro:
Sub blah()
Dim CellsToProcess As Range
Set Sht = Sheets("PPV-Oracle")
With Sheets("CommCode")
On Error Resume Next
Set CellsToProcess = Sht.Range("S:S").SpecialCells(xlCellTypeFormulas, 16)
On Error GoTo 0
If Not CellsToProcess Is Nothing Then
For Each cll In CellsToProcess.Cells
zzz = Application.Match(Sht.Cells(cll.Row, "A").Value, .Range("B:B"), 0)
If IsError(zzz) Then
Set LastItem = .Cells(.Rows.Count, "B").End(xlUp).Offset(1)
LastItem.Value = Sht.Cells(cll.Row, "A").Value
'LastItem.Offset(-1, 1).Resize(, 6).Copy LastItem.Offset(, 1)
End If
Next cll
End If
End With
End Sub
Note that there are no formulae to copy in CommCode in the sample file, hence a commented-out line in the macro, which you should enable to do that and test.
For the code to work on a different sheet such as IPV-Oracle adjust the line:
Set Sht = Sheets("PPV-Oracle")
File too big to upload here so it's here: https://app.box.com/s/avalec4n3jmv4wzocftg16kflbj76b2z