In 'ThisWorkbook' module, use the Workbook_SheetChange event handler
Option Explicit
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim cell As Range
With Sh
If Not Intersect(Target, Me.Range("C8:E2000")) Is Nothing Then
For Each cell In Intersect(Target, Me.Range("C8:E2000"))
If cell.Value <> "" Then
Me.Cells(cell.Row, "F").Value = Now()
Me.Cells(cell.Row, "G").Value = Environ$("UserName")
Else
Me.Cells(cell.Row, "F").ClearContents
Me.Cells(cell.Row, "G").ClearContents
End If
Next cell
End If
End With
End Sub