لا يمكن معرفة ما إذا كانت الخلية فارغة قبل حدث التغيير أو لا ولكن يمكن استخدام أعمدة مساعدة (5 أعمدة بعيداً عن الجدول لتسجيل الإدخالات السابقة)
عموماً جرب التالي
CODE
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