This question still needs to be answered:
What do you have in cells B1, B2, and B3 of the worksheet named "Main"?
That is where your code is picking up the name for the Path of the workbook to open. (B1)
The workbook name. (B2)
The Worksheet name to copy to. (B3)
Nories best guess at what you have on your page, (see thread #15), suggests you have the worksheet name of "Estimate" for both your Source and Target workbooks listed in cells B4 and D4 of a worksheet. Your code assumes that the name of that worksheet is "Main". You have not let us know if this is true or not.
Your code also sets the name of the Source workbook to "ActiveSheet.Name". That will be whatever worksheet was active the last time the workbook was opened.
If you want to use what you have in cell D4 as the source worksheet, change your code like this for that variable:
Code:
SourceWS = Sheets("Main").Range("D4")
As far as eliminating the update prompt, try adding code lines like this:
Code:
'Turn Alerts OFF
Application.DisplayAlerts = False
'Your code here...
'Turn Alerts back ON
Application.DisplayAlerts = True