Comunque in attesa della risposta ho provato considerando che eventuali digitazioni dello stesso identico valore non vengano considerate variazioni di cui registrare la data e ora nel modulo VBA del foglio ho inserito queste righe di comando che incollo più sotto.
Nota che la variabile "ValoreOriginario" l'ho dicharata Variant perché non so che tipo di valori sono presenti nelle colonne P e S.
'---
Option Explicit
Const RigaIntestazioni As Long = 5
Const iColonnaP As Long = 16
Const iColonnaS As Long = 19
Dim ValoreOriginario As Variant
Dim DataOraVariazione As Date
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If .Cells.Count > 1 Then Exit Sub
DataOraVariazione = Now
Application.EnableEvents = False
On Error GoTo Esci
If .Row > RigaIntestazioni Then
If .Column = iColonnaP Then
If .Value <> ValoreOriginario Then
.Offset(0, -1).Value = DataOraVariazione
.Offset(0, -14).Value = DataOraVariazione
End If
End If
If .Column = iColonnaS Then
If .Value <> ValoreOriginario Then
.Offset(0, -1).Value = DataOraVariazione
.Offset(0, -17).Value = DataOraVariazione
End If
End If
End If
End With
Esci:
Application.EnableEvents = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With Target
If .Row > RigaIntestazioni And .Column = iColonnaP Or .Column = iColonnaS Then
ValoreOriginario = ActiveCell.Value
End If
End With
End Sub
'---
Qui trovi un file di esempio:
https://www.dropbox.com/s/uiwk93eqmocr1jd/Riportare%20la%20data%20di%20modifica%20di%20una%20cella.xlsm?dl=0