ExcelHome数据透视表10118初级班课时四小结
讲师:taller
助教:hustnzj、longwj81
学员:xiaomagayf
时间:2012-06-27至2012-07-03
培训内容:刷新数据透视表
论坛地址:http://club.excelhome.net
培训地址:http://t.excelhome.net/forum.php
随着第四课时的小结批改,我们的10118培训班成员也即将分散,在本班中学习到不少的知识,在以后的时间里也将会继续报班学习!希望大家也可以一直坚持下去!下面咱们先回顾一下本课时的学习内容。
如何刷新数据透视表
一、为什么要刷新数据透视表
Ø数据源经常变化
Ø数据透视表需要呈现最新数据
二、如何刷新?
Ø手工刷新
ü右键菜单
ü数据透视表工具栏
PS:额外收获同一工作薄不同工作表间窗口比较:窗口,新建窗口;窗口,与…..并排比较
Ø自动刷新
ü设置数据透视表属性
ü定时刷新及利用外部数据源创建数据透视表
1、外部数据导入方法:
数据,导入外部数据,导入数据:
选择外部数据源,打开:
选择表格:
导入数据,选择创建数据透视表:
创建数据透视表:
2、 右键,表格选项,勾选刷新频率进行设置
⑶使用VBA代码实现自动刷新
要求设置宏的安全性为中级,否则将为出现警告。具体设置是:宏-安全性-“中”
使用代码刷新有几种方法:打开工作表时刷新,点击命令按钮可以进行批量刷新。
a、打开工作表或工作薄时刷新
一是打开工作表时刷新:点击工作表→查看代码,会出现宏的编辑窗口,点所在的工作表,acvite中输入ActiveSheet.PivotTables("数据透视表1").PivotCache.Refresh,表示当工作工作时将激活事件,执行代码
即:Private SubWorksheet_Activate()
ActiveSheet.PivotTables("数据透视表1").PivotCache.Refresh
End Sub
注意这个数据透视表1是指要刷新的数据透视表的名称,如果不知道当前数据透视表的名称时可以将鼠标定在数据透视表区域,点表格选项,即可看到数据透视表名称是什么了。
二是不勾选“打开时刷新”的前提下,实现打开工作薄时透视表的自动更新,具体的代码如下(不过这是对所有数据表的刷新,而不是一个数据表的刷新)
Private SubWorkbook_Open()
RefreshAll
End Sub
b、多个数据透视表的同时刷新
一是使用命令按钮可以批量刷新数据透视表。宏代码为:This workbook.refresh。方法:建立一个矩形框,选中矩形框,右键单击→指定宏,会出现一个指定宏的框,
弹出对话框选择新建或录制,如果选择新建;如果选择录制,会出现宏录制对话框,然后录制全部刷新命令的手动操作的宏即可,全部刷新手动操作方法如下:
添加后的工具栏:
弹出对话框选择新建或录制,如果选择新建,在End Sub前加上如下代码:ThisWorkbook.RefreshAll
:矩形1_单击的代码为
Sub矩形1_单击()
' 矩形2_单击Macro
' 宏由 1 录制,时间:2012-6-29”
End Sub
里面是空的,将This workbook.refresh插入其中
即:Sub矩形1_单击()
This workbook.refresh
End Sub
“矩形2_单击 Macro 宏由 1录制,时间: 2012-6-29”是可以删除的,只是一个说明。
上述代码是刷新所有数据透视表,下列代码则是有选择的刷新数据透视表:
Sub矩形1_单击()
Sheet2.PivotTables("数据透视表2").PivotCache.Refresh
Sheet4.PivotTables("数据透视表5").PivotCache.Refresh
End Sub
三、数据透视表数据缓存
Ø数据透视表的数据缓存是计算机内存的一个指定区域用于存储报表数据
Ø共享数据缓存
ü基于同一单元格区域数据连接的两个或多个数据透视表之间自动共享缓存
ü可以实现同时刷新
ü优势:提高性能的同时减小了工作薄的大小
Ø下列情况不能共享数据缓存
ü不希望所有数据透视表中都显示计算字段和计算项(祥见后面插入计算字段)
ü不希望在所有数据透视表中都按同一方式分组字段
ü不希望同时刷新所有数据透视表:数据源更改后,非共享的各自刷新,互不影响。而共享的,一个透视表刷新,其他的也同时刷新了。
Ø共享缓存与非共享缓存:
用数据透视表向导创建数据透视表时,如果同一区域已建立数据透视表会出现提示框,
选是共享缓存
选否非共享缓存
插入计算字段的方法:
名称:销售提成,公式=销售收入*0.005,(可以双击字段名将需参加计算的字段加到公式里面)
共享缓存的数据透视表中的数据透视表字段列表中也存在计算字段销售提成,而非共享数据透视表中则没有,所以如果不想共享插入字段,应该不共享数据缓存。
三、刷新数据表的注意事项
1、海量数据将导致数据刷新非常慢;
2、如何清除“垃圾条目”。
数据透视表中如何数据作了修改,按刷新后表内数据是新的,但是下拉按钮仍有旧的相关数据,只是增加了修改后的数据,谓之“垃圾条目”。清除的方法是右键-字段列表,显示字段列表,点透视表按刷新,将修改过的字段拖回字段列表,然后再刷新透视表,再将该字段拖至透视表内,记住,字段拖回字段列表(即删除该字段)后一定要刷新透视表才能将该字段增加到透视表内。
3、数据源中新增的“行”和“列”无法更新到数据透视表中。因为数据源的区域没有改变,所以新增的“行”和“列”无法刷新到数据透视表中,需要创建动态数据透视表,这将是下一阶段的内容了。