I'm not seeing what this code is really supposed to be doing.
It finds the bottom non-empty A cell, then works down from row 1 to that
row. If the A cell in any row is empty, it duplicates the information from
the previous row into it using copy/paste.
The sub is called CopyDown, but it doesn't seem to do that. For example, it
will never put anything into the first empty row after your current bottom
row. All it seems to do is fill in empty rows between 1 and your current
bottom row.
This does not fit in with the fact that you seem to be saying that the
server always puts the information into row 1.
You also talk about copying cells above but not the formula. I don't know
what you mean by this. If the cell above contains a formula, then that
formula will get copied in the normal copy/paste way.
I think you need to describe in more detail what the code is supposed to do.