You've pretty much answered your own question - use the change event for the appropriate sheet object.

If you want the code to fire if A1 is the only cell altered then validate the address:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$A$1" Then
        'do stuff...

    End If
End Sub
If you want the code to fire if A1 is any one of the cells altered given multiple cells can be updated simultaneously then test the Intersect rather than the address

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target,Range("A1")) Is Nothing Then


    End If
End Sub
to use either of the above right click on sheet of interest and select View Code pasting above into resulting window.

Bear in mind if you change the sheet during the course of your routine you will invoke the change event so generally an idea to toggle events appropriately.