2017-05-24 77 views
1

我正在開發一個用戶窗體,它打開一個excel文件,導入給定數量的行並粘貼數據透視表中的行。不幸的是,我不知道如何刷新數據透視表來合併這些新行和舊行。如何刷新數據透視表才能被vba考慮到?

如果你們中的任何一個人能夠幫助我,那就太好了,因爲我只有基本的知識並且想要實現這個項目。

+1

Check out https://stackoverflow.com/questions/70947/how-can-i-refresh-all-the-pivot-tables-in-my-excel-workbook-with-a-macro –

回答

0

您不能將行粘貼(追加)到數據透視表。如果您希望它們位於數據透視表中,則應將原始數據添加到數據透視表引用的位置。

重要的是你的數據透視表的設置方式。您需要使用像「A:G」而不是「A1:G800」的範圍來確保稍後將添加的任何行將包含在數據透視表中。

如果像這樣設置數據透視表,那麼在刷新電子表格後添加原始數據後,數據透視表將被更新,並且新添加的數據將包含在其中。

在下面的鏈接,我有一些截圖如何建立一個數據透視表用於此目的:

Count if for excel VBA, and printing results in another range

附:正如@Rory所提到的,使用數據透視表的整個列是不高效的。建議使用「命名範圍」或「表格」。

+0

使用整個列對於數據透視表來源數據效率低下,應該避免。改爲使用動態命名範圍或表。 – Rory

+0

@Rory一步一步的教學呢?你不會從小學畢業獲得大學學位。我同意你的看法,效率不高,但每天我的一個教訓就是我的策略。我在答案的最後列出了你的觀點。謝謝。 – Masoud

+0

除了效率低下之外,它還會引入(空白)條目,然後您必須稍後過濾掉。當您添加新項目時,這可能會導致問題,除非您非常小心,所有先前未見過的項目也會被濾除。表格或動態範圍絕對是首選方法。 – CLR