I am trying to combine over Excel 31 worksheets of data with identical headers into one. There are too many rows for the power query to handle. I tried VBA, but I'm not proficient in it, so that didn't work. This is a workbook that will be added to on a weekly bases.
I am trying to combine 31 worksheets on a centralized file into a master sheet. It will be updated with new data on a weekly bases. The headers are identical on each workbook. There is too much data for the power query to handle. The goal is to be able to add data to a master data source and refresh pivot tabs for the functioning dashboard.
Related
Every month, I run a massive Scorecard report. The raw data contains 13 workbooks that are exported as .csv files.
I use Power Query to manipulate and Append this data into 4 different worksheets.
To keep things clean, I then use a Macro to move the 4 Data Arrays into a Scorecard Workbook (which is shared with the team)
The Scorecard Workbook has 4 tabs with the Data Sheets: wsTotalUS, wsCombined, wsDFCoreMkts, wsNovCoreMkts.
The 4 Data Sheets to create 4 different Pivot Caches.
wsTotalUS has a Pivot Table on Sheet5
wsCombined has a Pivot Table on Sheets 6-13
wsDFCoreMkts has a Pivot Table on Sheet 14
wsNovCoreMkts has a Pivot Table on Sheet 15
Each month the data Rows can change (The Columns will always be the same - “A:AP”)
I have researched how to dynamically update pivot tables. I know some articles suggest changing the source data into a Table. I would like to avoid this due to the amount of time it would take to move the Data over to the Scorecard.
For example: wsTotalUS has 47,707 rows & wsCombined has 123,153 rows
One article I found had the code written on the Source Data Sheet as a Private Sub Worksheet_Deactivate().
However, this would only use one Data Sheet, and update all of the Pivot Tables in the workbook when you switch from the data sheet.
How to Dynamically Update All Pivot Tables Data Source in Excel
I found these articles, but they one only refers to one Data Sheet and one Pivot Table.
How to Automatically Update a Pivot Table Range in Excel
Dynamically Change a Pivot Table's Data Source Range with This VBA Code
This article uses the Worksheet_SelectionChange event. But again, only one Data Sheet is implied here.
Refresh Pivot Tables Automatically when Source Data Changes
How do I go about dynamically updating 4 different PivotCaches within a workbook?
Should I just run 4 separate sub routines?
UPDATED:
Based on Tim's suggestion:
Under Formulas -> Named Range:
TotalUS =OFFSET('Total US'!$A$1,0,0, COUNTA('Total US'!$A:$A),COUNTA('Total US'!$1:$1))
Then go to the Pivot Table that references this data, Change Data Source = TotalUS
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
Hello I am trying to create a 'master' sheet that houses data from 4 workbooks. All four workbooks have the same headers but they are for different regions. I.E data for the east,west,north and south. Each workbook has a different amount of rows. I want to automate the process of combining the documents into one.
I tried power query but i'm not a expert.
The steps in Power Query:
in a new workbook, create a query to each of the four workbooks
add a column for the region with the formula ="Region A (adjust the region name accordingly.
load the queries as connections only, not to a worksheet
in one of the four queries, append the other three.
load that one to a worksheet.
I have a 'Master' sheet that are made up of multiple sheets within the same workbook. I have combined the data from all the sheets to the 'Master' sheet using Power Query. However, I have to repeat a couple of steps(create connection, update source, etc) to include any newly created sheet into the 'Master' sheet.
I am looking at options to automate this process using VBA. Not sure how to start. Thanks!
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.