我正在开发一个用户窗体,它打开一个excel文件,导入给定数量的行并粘贴数据透视表中的行。不幸的是,我不知道如何刷新数据透视表来合并这些新行和旧行。如何刷新数据透视表才能被vba考虑到?
如果你们中的任何一个人能够帮助我,那就太好了,因为我只有基本的知识并且想要实现这个项目。
我正在开发一个用户窗体,它打开一个excel文件,导入给定数量的行并粘贴数据透视表中的行。不幸的是,我不知道如何刷新数据透视表来合并这些新行和旧行。如何刷新数据透视表才能被vba考虑到?
如果你们中的任何一个人能够帮助我,那就太好了,因为我只有基本的知识并且想要实现这个项目。
您不能将行粘贴(追加)到数据透视表。如果您希望它们位于数据透视表中,则应将原始数据添加到数据透视表引用的位置。
重要的是你的数据透视表的设置方式。您需要使用像“A:G”而不是“A1:G800”的范围来确保稍后将添加的任何行将包含在数据透视表中。
如果像这样设置数据透视表,那么在刷新电子表格后添加原始数据后,数据透视表将被更新,并且新添加的数据将包含在其中。
在下面的链接,我有一些截图如何建立一个数据透视表用于此目的:
Count if for excel VBA, and printing results in another range
附:正如@Rory所提到的,使用数据透视表的整个列是不高效的。建议使用“命名范围”或“表格”。
Check out https://stackoverflow.com/questions/70947/how-can-i-refresh-all-the-pivot-tables-in-my-excel-workbook-with-a-macro –