Here's a quick sample function that does that and caches the previous value. I'd have suspicions about its thread safety though.
'Function to get the difference between the previous value in a cell and the current value
Public Function LastDifference(cell_reference As String, value as Double)
Static d
If Not IsObject(d) Then Set d = CreateObject("Scripting.Dictionary")
If d.exists(cell_reference) Then
lastValue = d.Item(cell_reference)
Else
lastValue = 0
End If
d.Item(cell_reference) = value
LastDifference = value - lastValue
End Function