Try this
Private Sub Worksheet_Change(ByVal Target As Range)
Set KeyCells = Range("M19")
On Error Resume Next
Set KeyCells = Application.Union(KeyCells, KeyCells.Precedents)
On Error Goto 0
If Not Application.Intersect(Target, KeyCells) Is Nothing Then
Range("L16").Value = Now
End If
End Sub
Note that the time stamp will appear anytime that a precedent cell is changed, NOT when the value in M19 is changed.
For example, if M19 has the formula =ABS(A1) and the user changes A1 from -1 to 1, the value in M19 will not be changed, but the time stamp will appear.