编按: 透视表是最常用的一个功能,但有一个问题常困扰着我们:数据源发生了变化后,透视表怎么自动更新呢?下面3种方法,从手动到自动都有。自动用了一句数据透视表自动刷新代码,不管透视表与数据源是否在同一张工作表中都适用。 小窝将告诉你Excel数据透视表从手动到自动刷新的3种方法。 了解透视表数据刷新的限制 在创建透视表的对话框中有“选择表格或区域”选项——绝大多数时候我们没有理会过它。但它表明了一点:数据透视表只针对选定的区域处理数据。 因此,只有位于处理区域中的数据发生变化,才能右键刷新透视表数据,而新增数据无法刷新,如下: 新增数据后透视表的刷新方法 1.手动更改数据源。推荐指数:★★ 既然只针对处理区域刷新,那就增大处理区域。 2.超级表+右键刷新。推荐指数:★★★★ 超级表可以自动扩展工作区域大小,因此新增数据后就不用手动更改数据源了。 Step 01 单击表格数据按Ctrl+T将表格(Excel称为区域)转为超级表(Excel称为表)。 Step 02 插入透视表。 Step 03 新增数据,右键刷新即可更新透视表。 注:如果已经用区域建立了透视表,不用重做透视表,直接把数据源转成超级表即可右键刷新。 3.超级表加一句代码。推荐指数:★★★★★ 在超级表的基础上加一句以下代码,可以自动刷新。 ActiveSheet.PivotTables("数据透视表").PivotCache.Refresh 代码的意思是在激活的工作表中刷新名为“数据透视表”的透视表。 方法: Step 01 首先查看透视表的名称。 Step 02 粘贴代码。 透视表与数据源在同一张Sheet中: 在工作表名称上右击选择“查看代码”进入VBA编辑。将对象由“通用”改成“worksheet”,过程会自动默认为“SelectionChange”;然后粘贴上面代码,并把透视表名称改成查看到的名称即可。 若透视表与数据源不在一张Sheet中: 在透视表所在工作表右击“查看代码”,过程改为“Activate”。删除自动生成的SelectionChange代码,在Activate代码中粘贴代码并修改名称即可。 注:添加代码后文件需要保存为支持宏的格式。 |
|