Workbook with Pivot Tables Opens Very Slowly - excel

I am working with an Excel 2013 workbook on Windows 10. It has ten pivot tables and takes a long time (~2 mins) to open. I have tried a lot of things to speed this up to no avail. Here are the specs:
The workbook is about 40 Mbytes in size. It is an *.xlsm file with a significant VBA app that can be activated by clicking a button. However, there is no Workbook Open event and no worksheet level events.
All of the pivot tables are based on data from a single worksheet within the workbook. No external data.
All of the pivot tables are set to NOT refresh on open. They are also set to not save data. (I tried both ways and if anything setting it to save data caused it to take longer to open.)
The pivot tables contain no formulas. The data worksheet has no formulas. The workbook in its entirety has very few formulas. The app creates formulas to populate the sheets, but then converts all of the formulas to values.
The pivot tables did have conditional formats, but even after deleting them all, the workbook still takes about the same time to come up.
This is not the startup delay issue. There is a dialog telling me that the load is 0% … 20% … 40% … complete.
I deleted just the pivot table sheets from the workbook and the workbook comes up in just a few seconds.
I also created a new workbook by copying over all the sheets and code thinking there might be a low-level corruption issue, but the copy didn't come up any faster.
Do pivot tables just naturally come up slow? Is there any property or setting I can change to speed up the workbook opening process? A number of people use these workbooks and are very dissatisfied.

Right click inside pivot, Pivot Table options, Data tab, clear/uncheck the checkbox "Save source data with file."
Every time you create a Pivot, Excel stores a copy of the source data in the file and uses it to run queries. If you created 10 Pivots separately, you'll have 10 caches saved in the file making it bloated/slow. To optimize the file, you'll want to create a Pivot and then COPY that Pivot for ALL other Pivots that use the SAME data table. This will ensure you use only 1 cache instead of 10. Also, as a bonus, when you refresh one it'll refresh all of them.
**Only keep this unchecked if there's no external data.
Cheers

Related

What is fast way to add 300 sheets with data to Excel?

Currently I’m using Excel Application Scope which is unchecked AutoSave and unchecked Visible, and using Save Workbook as the first picture below.
Estimated execution time is 10 minutes.
Adding new sheet is slower as the sheets increase.
Use the Write Range activity instead. This will be 4-times faster.

Powerpoint - remove embedded data from table

I pasted a pivot table from excel to powerpoint and chose the embed option when doing so. The deck is now very large (20MB +) due to the embedded data. Is there a way to keep the table but just drop the embedded data?
The problem is likely because you're copying from a very large Excel workbook. When you embed even one cell from an Excel worksheet, the entire workbook actually gets embedded in the PowerPoint file.
One way around this is to select the information you want to embed, copy/paste it into a new Excel workbook (NOT a new worksheet w/in the workbook), then copy/paste/embed into PPT from the new temporary workbook.
At least this'd work with regular worksheet data; it may not work for Pivot Tables (they'd be dependent on other data that wouldn't get pasted from one worksheet to the other, I'm afraid). But it's worth a shot.

How to paste from PowerPivot without Data Model

How can I export a PowerPivot table to a new workbook without the attached data model?
Even if I click paste values, Excel makes the file unreasonably large (13MB).
Can I turn this behaviour off?
When you say pasting a Power Pivot table, do you mean copying the table that exists in the data model, that you access through clicking the "Manage" button in the Power Pivot ribbon menu?
Or do you mean copying the values displayed in an Excel pivot table that happens to be backed by a Power Pivot model?
If the former, you can paste the table directly into a new workbook sheet (assuming it has fewer rows than Excel's limit) with no problems and no attachment made to the source workbook's data model.
If the latter, pasting values will bring over only the values, but you have to utilize the right click menu option to do so. If you just CTRL-C CTRL-V the pivot table, and then use the copy-paste context menu to change to values only, then Excel is first creating a copy of the data model in the new workbook to back the pivot table that you are pasting. Then after this action is completed, you are telling it to display values only, but Excel will not delete the data model it's just created to back the pivot table.
I just ran into this problem, it was very easy to resolve. Initially I was trying to paste as values into the destination workbook directly from the source Pivot table which automatically brings the data model across with it.
Simply make a copy of the table by pasting values into the SAME workbook as your data model. Then copy and past the new table into your destination workbook, it will just give you the values and leave the data model behind.

Excel Drop Down in Shared Mode

When I change my excel workbook to shared mode and try to copy and paste rows that have drop down lists (Data validation List), the drop down disappears.
It works fine as long as the workbook is not shared. Any solutions?
Set the Workbook to unshared, copypasta your data and then share the workbook again.
Shared workbooks are useful, regardless of their (many) limitations. In a shared workbook, you cannot:
Create an Excel table
Insert or delete blocks of cells
Delete worksheets
Merge cells or split merged cells
Add or change conditional formats
Add or change data validation
Create or change charts or PivotChart reports
Insert or change pictures or other objects
Insert or change hyperlinks
Use drawing tools
Assign, change, or remove passwords
Protect or unprotect worksheets or the workbook
Create, change, or view scenarios
Group or outline data
Insert automatic subtotals
Create data tables
Create or change PivotTable reports
Write, record, change, view, or assign macros
Change or delete array formulas
Use a data form to add new data
Work with XML data
Before you unshare the workbook, ensure no-one else is using it by clicking Share Workbook in the Changes group on the Review tab.
Select the name of the user who you want to disconnect, and then click Remove User.
Shared workbooks have severe limitations. Some functionality is disabled in shared workbooks. Other stuff just slowly starts to fall apart.
Consensus amongst Excel experts is that shared workbooks should be avoided, because it's not a quesiton of IF but WHEN they will become corrupt. Shared workbooks are impossible to troubleshoot.
Yes, Excel offers the feature, but it was never designed for simultaneous multi-user write access to a data set. If you need that functionality, you'd be better off with a database like Access or SQL.
Don't shoot the messenger.
I had similar issue and searched to find that there is no scope to add drop-down to the shared workbook. I got my work done by simply removing share option in the workbook, applied desired changes and shared the workbook again. :)

Can I copy query tables (and connections?) to other workbooks?

I have a workbook (wkbk1) that has a sheet with eight different query tables (a.k.a. data tables) on it -- NOT PIVOT TABLES. They all point to the same external Excel workbook (wkbk2) for their data which is a single sheet with a group of named ranges.
The data for each table in wkbk1 comes from a named range in wkbk2. How can I copy the sheet of eight different tables (from wkbk1) to other workbooks (wkbk3, wkbk4, etc)?
Is it even possible for the query table and its data connection to transfer with the sheet? So far I can't do it manually (no coding). If coding is required I'm fine with that, just need help with it. I have intermediate VBA coding experience.
I'm using Excel 2007/2010.
In Excel 2010, I right click on the sheet tab and choose Move or Copy. Select the destination workbook and check "Create a Copy". The new sheet has the QueryTable on it and refreshes as expected.
So I think copying the sheet will copy the QueryTable and all its properties.
My QueryTable used MSQuery and pointed to another Excel workbook.

Resources