In your code you do some very expensive ,"time wise" , activities. Placing formula's in cells, haveing all formulas continuing to re-calc with each change in sheet , then a copy and a paste .. are all very time expensive.
In the following solution I just use the Vlookup formula within the confines of the code BUT never place it in the cell. The only thing placed in cell is the resulting value. Hence no formula re-calcs and no copy and pastes ... in other words I've cut out the middle men 
ALSO: This solution allows us to pass variables to the Vlookup formula ... in my example I vary the "Return Column" based on the Source sheet i.e. If the Current Source sheet is named "Week1" then the Column to return in the C2:C6 range would be C3 etc etc.
Without concrete examples from you ... this is about as far as I can go ... 
Bookmarks