Private Sub Worksheet_Calculate() Static oldval If Range("C1").Value <> oldval Then oldval = Range("C1").Value ' 'rest of your code here ' End If End Sub