透视表如何自动刷新数据
1、第一种方法是通过设置在打开的时候,自动刷新数据。这是excel提供给我们的方式,具体操作:首先点中透视表中的任一单元格,在弹出的数据透视表工具里选择 《 分析》 在选择 《选项》----《数据》选项卡,把打开文件时刷新数据的勾打上就可以了。(如图一和二)
2、注:这种方式的优点是打开时就可以刷新了不用其他的操作,但是缺点也很明显,就是只能打开的时候刷新,对于数据源更改比较频繁的就不太合适了
1、这种方法可能对于一部分人来说比较陌生,所以这里简单说明下:即通过《数据》选项卡里的方式连接数据所得到的数据透视表都支持这种方式(如图三所示),通过这种我们可以实现在打开刷新数据的同时还能实现每隔多久刷新。(如图四)注:刷新频率里能填得最小值是1分钟,而且只能是整数
2、因此,如果动态数据源是前两种方式实现的话,是不能用这种方法的,只有第三种可以。如图五就是前面两种方式实现的动态数据源,可以看到它的《连接属性》是灰色的无法选择,但是如果是用数据连接实现的动态数据源是可以选择的(如图六)
1、上面说到如果是利用前两个动态数据源方法是不能用连接属性属性实现自动刷新的,那么有没其他的方法也可以让他们也实现每隔多少时间自动刷新呢,当然有,就是下面要讲的通过VBA代码的方式实现的
2、alt+F11进入编辑窗口插入一个模块,然后复制下面的代码进去:
Sub Refresh()
Application.OnTime Now() + TimeValue("00:00:10"), "Refresh"
ActiveWorkbook.RefreshAll
End Sub
写好刷新的代码后我们需要它每次打开的时候自动执行,因此需要在工作簿的激活事件里call它就可以了(如图八)
注:1:上面的代码是每隔10秒钟刷新一次,如需改动可以在TimeValue("00:00:10")改成对应的时间即可(如图七)
2:ontime的用法以及怎么进入工作簿事件界面限于篇幅可以自己百度下
3:RefreshAll为全部刷新的意思,即不仅数据透视表可以刷新,而且还包括其他的数据刷新(比如图表,嵌入的网页等)
4:如果要单个刷新透视表的话,可以使用下面的代码Sheet2.PivotTables("数据透视表1").PivotCache.refresh替换掉ActiveWorkbook.RefreshAll
,当然sheet2和("数据透视表1")这里要改成对应的内容
3、可以看到,通过代码的形式我们能够最大限度的自由调整刷新的频率,但是这种方法需要稍微有点VBA基础。另外要注意的是:对于一些版本的EXCEL含有宏的工作簿需要另存为启用宏的工作簿才可以,不然下一次打开的时候就没有代码实现刷新功能了