使用宏刷新数据透视表
Sheets("卖出汇总").SelectActiveSheet.PivotTables("数据透视表4").PivotCache.RefreshSheets("买入汇总...
Sheets("卖出汇总").Select
ActiveSheet.PivotTables("数据透视表4").PivotCache.Refresh
Sheets("买入汇总").Select
ActiveSheet.PivotTables("数据透视表3").PivotCache.Refresh
我目前用此语句实现,但这样会造成页面间的切换,如果不选中页面可以直接更新数据透视表吗?
语句该怎么写? 展开
ActiveSheet.PivotTables("数据透视表4").PivotCache.Refresh
Sheets("买入汇总").Select
ActiveSheet.PivotTables("数据透视表3").PivotCache.Refresh
我目前用此语句实现,但这样会造成页面间的切换,如果不选中页面可以直接更新数据透视表吗?
语句该怎么写? 展开
2个回答
展开全部
不用宏就行。看看我以前回答的:
excel、数据透视表、VBA:怎样才能使数据透视表的数据源区域随记录的增加而自动扩展?
http://zhidao.baidu.com/question/52748104.html?si=1
1.先说最常用的方法:
做数据透视表的时候主要是增加行的记录,增加列的标题的比较少,如果只是增加行的记录的话,直接选择整列作为数据源来做数据透视表就行了。例如数据区域A1:D10.可以选择A:D作为数据区域做数据透视表。
如果有新增的行记录的话,刷新数据透视表就行了.当然有一个叫"(空白)"的值看着比较碍眼,一般是在行字段列字段筛选里面把它去掉。
2.即增加行又增加列的情况。也是适用性最好的一种方法。
这种情况下使用利用公式动态定义数据源。
例如数据在Sheet1工作表A1:D10。插入-名称-定义,名称:源数据
引用位置:
=OFFSET(Sheet1!$A$1,0,0,COUNTA(Sheet1!$A:$A),COUNTA(Sheet1!$1:$1))
数据透视表的数据区域,不用鼠标选择,而是输入名称"源数据".
这个需要注意的地方的是,Sheet1!$A:$A是每行记录都不为空的一列,Sheet1!$1:$1是源数据的标题列,都是连续的中间没有空格的数据.
3.看大家都比较推崇列表,我也是试了一下.发现插入行能够数据刷新看到更新的数据,但是最后列后面加入的列不能看到。所以使用列表的效果和第一种没有太大区别。还不如直接用第一种方法直接简单。
4.最后说一下,数据透视表最后一行前插入的行,通过数据刷新能看到;
最后一列前插入的列,通过数据刷选能看到。
最后:
如果是行列都增加推荐第二种方法.
如果只是增加行的话,用第一种方法就够了。
excel、数据透视表、VBA:怎样才能使数据透视表的数据源区域随记录的增加而自动扩展?
http://zhidao.baidu.com/question/52748104.html?si=1
1.先说最常用的方法:
做数据透视表的时候主要是增加行的记录,增加列的标题的比较少,如果只是增加行的记录的话,直接选择整列作为数据源来做数据透视表就行了。例如数据区域A1:D10.可以选择A:D作为数据区域做数据透视表。
如果有新增的行记录的话,刷新数据透视表就行了.当然有一个叫"(空白)"的值看着比较碍眼,一般是在行字段列字段筛选里面把它去掉。
2.即增加行又增加列的情况。也是适用性最好的一种方法。
这种情况下使用利用公式动态定义数据源。
例如数据在Sheet1工作表A1:D10。插入-名称-定义,名称:源数据
引用位置:
=OFFSET(Sheet1!$A$1,0,0,COUNTA(Sheet1!$A:$A),COUNTA(Sheet1!$1:$1))
数据透视表的数据区域,不用鼠标选择,而是输入名称"源数据".
这个需要注意的地方的是,Sheet1!$A:$A是每行记录都不为空的一列,Sheet1!$1:$1是源数据的标题列,都是连续的中间没有空格的数据.
3.看大家都比较推崇列表,我也是试了一下.发现插入行能够数据刷新看到更新的数据,但是最后列后面加入的列不能看到。所以使用列表的效果和第一种没有太大区别。还不如直接用第一种方法直接简单。
4.最后说一下,数据透视表最后一行前插入的行,通过数据刷新能看到;
最后一列前插入的列,通过数据刷选能看到。
最后:
如果是行列都增加推荐第二种方法.
如果只是增加行的话,用第一种方法就够了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询