Perhaps you can adapt this:
Private Sub Worksheet_Change(ByVal Target As Range)
Const sRng As String = "A1:A10" ' change as required
Dim sOld As String
Dim sNew As String
Dim sCmt As String
Dim iLen As Long
With Target(1)
If Intersect(.Cells, Range(sRng)) Is Nothing Then Exit Sub
sNew = .Text
Application.EnableEvents = False
Application.Undo
sOld = .Text
.Value = sNew
Application.EnableEvents = True
sCmt = Format(Date, "yyyy-mmdd") & ": Was """ & sOld & """ is """ & sNew & """"
If .Comment Is Nothing Then .AddComment
With .Comment.Shape.TextFrame
iLen = Len(.Characters.Text)
.AutoSize = True
.Characters(Start:=iLen + 1).Insert IIf(iLen, vbLf, "") & sCmt
End With
End With
End Sub
Bookmarks