There are a lot of good comments on the Excel 2013 Is Unreasonably Slow post, but none of them worked for me. Even a generous offer from keepItCool, but I can’t send the problem child due to proprietary information. So I’m trying to demonstrate the problem in a simpler fashion.

Sub TestTimes()
   
    Dim wb As Workbook
    Dim i As Long
    Dim clsTimer As New CTimer
   
    On Error Resume Next
        Kill Environ$("TEMP") & "TemplateInsert.xlsx"
    On Error GoTo 0
   
    clsTimer.StartCounter "Version: " & Application.Version & Space(1) & Format(Now, "yymmddhhmmss")
    Set wb = Workbooks.Add
    wb.Sheets(1).Range("A1").Value = "Insert Template"
    wb.SaveAs Environ$("TEMP") & "TemplateInsert.xlsx"
    wb.Close
    clsTimer.Split "Create template"
   
    For i = 1 To 5
        Set wb = Workbooks.Add(Environ$("TEMP") & "TemplateInsert.xlsx")
        clsTimer.Split "Insert template " & i
    Next i
   
    clsTimer.StopCounter
   
End Sub

I create a template and insert it into a new workbook five times. This is more or less what my other code is doing. Actually it’s quite a bit less and the templates in the other code are a lot fatter. But I think it demonstrates the point.

Split Excel 2013 (Home) Excel 2010 (Home) Excel 2013 (Office, Local) Excel 2013 (Office, Network)
Start 0.75 0.55 0.66 2.82
Create template 257.68 161.60 445.96 562.40
Insert template 1 449.85 246.10 739.31 927.03
Insert template 2 638.71 345.13 1,058.17 1,292.53
Insert template 3 832.92 429.95 1,367.04 1,716.61
Insert template 4 1,030.99 517.06 1,696.34 2,109.36
Insert template 5 1,247.35 611.32 2,023.30 2,467.81
End 1,247.63 611.70 2,024.43 2,523.20

Excel home is my machine. I have both versions installed. The office times are where my original code runs in production. The “Local” times are when the code is on the desktop and the “Network” time is when the code is on a server.

There’s a lot I’m not happy about here. If I could cut the 2013 times in half, I would be not-unhappy. Note also that I’m not protecting or unprotecting anything – a known change in 2013 that slows things down.

Give it a try, if you like, and let me know what your times are. The home hardware is Intel i7 860 @ 2.8Ghz with 8GB RAM / Windows 7 64 bit, Excel 32 bit.

You can download TemplateInsertTimeTest.xlsm