使用宏刷新数据透视表

Sheets("卖出汇总").SelectActiveSheet.PivotTables("数据透视表4").PivotCache.RefreshSheets("买入汇总... Sheets("卖出汇总").Select
ActiveSheet.PivotTables("数据透视表4").PivotCache.Refresh
Sheets("买入汇总").Select
ActiveSheet.PivotTables("数据透视表3").PivotCache.Refresh
我目前用此语句实现,但这样会造成页面间的切换,如果不选中页面可以直接更新数据透视表吗?
语句该怎么写?
展开
 我来答
黎约践踏AGIALJ
2014-09-03 · 超过56用户采纳过TA的回答
知道答主
回答量:179
采纳率:50%
帮助的人:54.9万
展开全部
不用宏就行。看看我以前回答的:

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.最后说一下,数据透视表最后一行前插入的行,通过数据刷新能看到;
最后一列前插入的列,通过数据刷选能看到。

最后:
如果是行列都增加推荐第二种方法.
如果只是增加行的话,用第一种方法就够了。
ExcelOffice
2014-09-06 · TA获得超过570个赞
知道小有建树答主
回答量:1583
采纳率:0%
帮助的人:742万
展开全部
Sheets("卖出汇总").Select
ActiveSheet.PivotTables("数据透视表4").PivotCache.Refresh

改成

Sheets("卖出汇总").PivotTables("数据透视表4").PivotCache.Refresh

就可以不用切换了。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式