Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Range
Set r = Intersect(Target, Union([H:H], [L:L]), UsedRange)
If r Is Nothing Then Exit Sub
For Each r In r
If IsNumeric(CStr(r)) Or CStr(r) <> "" And r.Interior.Color = vbRed Then r(1, 3) = Date
Next
End Sub