Just looking at a quick glance, I don't think your RANGE() is correct:
Range("E2", Range("E" & Rows.Count).End(xlUp))
Typically, Range is defined by a NAME. Set the second range up as another variable, initialized as a range.
dim Rangx as Range
Give that a try!