You mix up clear formulas with clear formatting, which is very confusing.
You can simplify things by writing the formula into colum E when you add the description, then there is no need to copy down, or to clear when the column E value is changed.
[VBA]
ActiveCell.Offset(, 1).FormulaR1C1 = _
"=IF(ISERROR(VLOOKUP(RC[-3],eanretail!R3C1:R2058C3,3,FALSE))" & _
","""",VLOOKUP(RC[-3],eanretail!R3C1:R2058C3,3,FALSE))"

[/VBA]