Possibly...
Private Sub Worksheet_Change(ByVal Target As Range)
Dim lRow As Long, rg As Range, c As Range
Dim b As Boolean, s As String
If Target.Column > 1 Then Exit Sub
b = False
lRow = Sheet1.Cells(Rows.Count, 3).End(xlUp).Row
Set rg = Sheet1.Range("C6:C" & lRow)
With rg
Set c = .Find(Target.Value, Cells(6, 3))
If Not c Is Nothing Then
s = c.Address
Do
If c.Offset(, 3) = vbNullString Then
c.Offset(, 3) = Target.Value
c.Offset(, 4) = Now()
b = True
Else
Set c = .FindNext(c)
End If
Loop Until c.Address = s
Else
b = True
End If
If b = False Then
Sheet1.Cells(lRow + 1, 3) = Target.Value
Sheet1.Cells(lRow + 1, 4) = Now()
End If
End With
End Sub
...placed in sheet2 code module.
Bookmarks