لا يمكن معرفة ما إذا كانت الخلية فارغة قبل حدث التغيير أو لا ولكن يمكن استخدام أعمدة مساعدة (5 أعمدة بعيداً عن الجدول لتسجيل الإدخالات السابقة)
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.CountLarge > 1 Then Exit Sub
If Target.Row > 1 And (Target.Column >= 5 And Target.Column <= 9) Then
Application.EnableEvents = False
If Target.Offset(, 20).Value = "" Then
Cells(Target.Row, "P").Value = Date
Target.Offset(, 20).Value = Target.Value
Else
Cells(Target.Row, "Q").Value = Date
End If
Application.EnableEvents = True
End If
End Sub