Right-click on the sheet tab name at the bottom of the screen, select "View Code", and paste this VBA code in the resulting VB Editor window:
VBA Code:
Private Sub Worksheet_Change(ByVal Target As Range)
' Exit if multiple cells updated at once (i.e. row deleted)
If Target.CountLarge > 1 Then Exit Sub
' Only run if column D after row 4 updated
If Target.Column = 4 And Target.Row > 4 Then
Application.EnableEvents = False
' Update column A with current date
Target.Offset(0, -3).Value = Date
' Update column B with user
Target.Offset(0, -2).Value = Environ("username")
' Update column C with time
Target.Offset(0, -1).Value = Now()
Application.EnableEvents = True
End If
End Sub
As long as VBA is enable, this will automatically populate columns A-C with the information you want whenever an entry is made in column D below row 4.