title: How do I get the old value of a changed cell in Excel VBA?
body: <p>I'm detecting changes in the values of certain cells in an Excel spreadsheet like this...</p>
  
  <pre><code>Private Sub Worksheet_Change(ByVal Target As Range)
  Dim cell As Range
  Dim old_value As String
  Dim new_value As String
  
  For Each cell In Target
  
      If Not (Intersect(cell, Range("cell_of_interest")) Is Nothing) Then
          new_value = cell.Value
          old_value = ' what here?
          Call DoFoo (old_value, new_value)
      End If
  
  Next cell
  
  End Sub
  </code></pre>
  
  <p>Assuming this isn't too bad a way of coding this, how do I get the value of the cell before the change?</p>