Всё оказалось проще чем я думал, сделал сам, вот только не додумался пока как исключить из анализа обращения к ячейке не изменяющие её содержимого (двойной щедчок, энтер). Не подскажете?
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim iTarget As Range, iCell As Range
Set iTarget = Intersect(Me.Range("A1:R1000"), Target)
If Not iTarget Is Nothing Then
If Not Me.ProtectContents Then
iText$ = Application.UserName & vbLf & Now
For Each iCell In iTarget
Cells(iCell.Row, 19).Value = iText$
Next
Else
MsgBox "eee", , ""
End If
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim iTarget As Range, iCell As Range
Set iTarget = Intersect(Me.Range("A1:R1000"), Target)
If Not iTarget Is Nothing Then
If Not Me.ProtectContents Then
iText$ = Application.UserName & vbLf & Now
For Each iCell In iTarget
Cells(iCell.Row, 19).Value = iText$
Next
Else
MsgBox "eee", , ""
End If
End If
End Sub