Copying and pasting from MS Project to MS Excel This copies data from a project into Excel to be calculated into a final report. The code runs pretty slowly at this point and I would like it to be a little bit faster. Are there any blatant coding mishaps that are slowing the calculations down?

Sub Update_Schedule()
Dim appProj As MSProject.Application
Dim aProg As MSProject.Project
Dim sel As MSProject.Selection
Dim ts As Tasks
Dim t As Task
Dim rng As Range
Dim rng2 As Range
Dim ws As Worksheet
Dim ws2 As Worksheet


Application.DisplayAlerts = False

'Clear current contents

Set ws2 = Worksheets("Final Report")

Set ws = Worksheets("Master")
Set rng = ws.Range("A:F")
rng.ClearContents
Set ws = Worksheets("Resource List")
Set rng = ws.Range("A:B")
rng.ClearContents

'Open the Project file when it asks to open resource pool, press yes

Set appProj = CreateObject("Msproject.Application")

appProj.DisplayAlerts = False

appProj.FileOpen "File_1.mpp" 'also opens file 2

Set aProg = appProj.Projects("File_1.mpp")

appProj.Visible = True

WindowActivate WindowName:=aProg

'Copy the project columns and paste into Excel

Set ts = aProg.Tasks
SelectTaskColumn Column:="Name"
OutlineShowAllTasks
OutlineShowAllTasks
EditCopy
Set ws = Worksheets("Master")
Set rng = ws.Range("A:A")
ActiveSheet.Paste Destination:=rng
SelectTaskColumn Column:="Duration"
EditCopy
Set rng = ws.Range("B:B")
ActiveSheet.Paste Destination:=rng
SelectTaskColumn Column:="Start"
EditCopy
Set rng = ws.Range("C:C")
ActiveSheet.Paste Destination:=rng
SelectTaskColumn Column:="Finish"
EditCopy
Set rng = ws.Range("D:D")
ActiveSheet.Paste Destination:=rng
SelectTaskColumn Column:="Resource Names"
EditCopy
Set rng = ws.Range("E:E")
ActiveSheet.Paste Destination:=rng
SelectTaskColumn Column:="Project"
EditCopy
Set rng = ws.Range("F:F")
ActiveSheet.Paste Destination:=rng
WindowActivate WindowName:="\\File_2.mpp"
SelectResourceColumn Column:="Name"
EditCopy
Set ws = Worksheets("Resource List")
Set rng = ws.Range("A:A")
ActiveSheet.Paste Destination:=rng
SelectResourceColumn Column:="Category"
EditCopy
Set rng = ws.Range("B:B")
ActiveSheet.Paste Destination:=rng

'Populates formula in Master sheet
Application.Visible = True

Set ws = Worksheets("Master")
Set rng = ws.Range("G2")
Set rng2 = ws.Range("G2:G9223")
rng.AutoFill Destination:=rng2, Type:=xlFillDefault
Set rng = ws.Range("H2")
Set rng2 = ws.Range("H2:H9223")
rng.AutoFill Destination:=rng2, Type:=xlFillDefault

Calculate

ws2.Visible = True

Application.DisplayAlerts = True
appProj.DisplayAlerts = True
End Sub
A few things here:


Read this. Its lists things to do when copying large amounts of data
Did you set Application.Calculation = xlCalculationManual? Your manually calling Calculate, but you never turn off autocalcualtion.
Did you set Application.ScreenUpdating = FALSE? That can speed things up.