如何刷新数据透视表 table 以便被 vba 考虑?

How do you refresh a pivot table in order to be taken into account by vba?

我正在开发一个用户表单,它可以打开一个 excel 文件,导入给定数量的行并将这些行粘贴到数据透视表 table 中。不幸的是,我不知道如何刷新数据透视表 table 以便将这些新行与旧行合并。

如果你们中有人能帮助我,那就太好了,因为我只有基础知识,想实现这个项目。

您不能将行粘贴(附加)到数据透视表 table。如果您希望原始数据位于数据透视表 table.

中,则应将原始数据添加到数据透视表 table 所指向的位置

重要的是设置枢轴 table 的方式。您需要使用 "A:G" 而不是 "A1:G800" 之类的范围,以确保稍后添加的任何行都将包含在您的数据透视表 table.

如果您像这样设置数据透视表 table,在您添加原始数据后刷新电子表格,数据透视表 table 将更新,新添加的数据将包含在其中。

在下面的 link 中,我有一些屏幕截图说明如何为此目的设置枢轴 table:

p.s。正如@Rory 所提到的,使用整列作为数据透视表 table 效率不高。建议使用"named ranges"或"tables".