Hi nilem,
Thanks for this, just a question about this line:
arr = Intersect(rng.Parent.UsedRange, rng).Value

Why not just:
arr = rng.Value

I must be missing something,

Thanks,

Dave