Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
Dim rng As Range
' Only look at single cell changes
If Target.Count > 1 Then Exit Sub
' Set Target Range
Set rng = Range("d3:d80")
' Only look at that range
If Intersect(Target, rng) Is Nothing Then Exit Sub
Dim ce As Range
For Each ce In Range("d3:d" & Range("d80").End(xlUp).Row)
If ce.Value = "Completed" Then
If ce.Offset(0, 1).Value = "" Then
ce.Offset(0, 1).Value = Date
End If
Else
ce.Offset(0, 1).Value = ""
End If
Next ce
Application.ScreenUpdating = True
End Sub