永发信息网

数据透视表 使用VBA代码后为什么不能自动刷新是怎么回事

答案:1  悬赏:10  手机版
解决时间 2021-03-16 16:05
一、VBA代码
用一段简单的VBA代码,可以实现如下效果:当数据源中的数据更改后,切换到包含数据透视表的工作表中时,数据透视表将自动更新。假如包含数据透视表的工作表名称为“Sheet1”,数据透视表名称为“数据透视表1”。
1.按Alt+F11,打开VBA编辑器。
2.在“工程”窗口中,双击包含数据透视表的工作表,如此处的“Sheet1”表。
3.在右侧代码窗口中输入下列代码:
Private Sub Worksheet_Activate()
Sheets("Sheet1").PivotTables("数据透视表1").RefreshTable
End Sub
保存 退出。
然而 修改源数据后与之对应的数据透视表 仍然不能自动更新,请问如何解决?
最佳答案
1)如果数据透视表名被修改,不再是"数据透视表1",则执行不了。可改成如下代码,不论多少透视表,叫什么名,都能刷新。
Private Sub Worksheet_Activate()
Dim myPivot As PivotTable
For Each myPivot In Me.PivotTables
myPivot.RefreshTable
Next
Set myPivot = Nothing
End Sub
2)数据透视表的数据源是否被设为固定区域了?最好将数据源设为指定的名称。之前区域定义为名称,行数可自动变化,如新建名称rngPivot, =offset(sheet2!$A$1,0,0,counta(sheet2!A:A),counta(sheet2!1:1))
3)如果还不行,那就是动作响应被关闭了,需要恢复一下。
可在立即窗口执行如下代码:Application.EnableEvents = True
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
小学三至六年级的数学公式
我长青春痘很久了,,要不要看医生呢?
顶尚造型(灵泉社区卫生服务中心西南)怎么去啊
帮忙给婴儿取个名字,时尚点的
手被502胶水烫伤了
星际战甲段位奖励有哪些 盘点段位升级奖励
月塘中心卫生院-住院部地址有知道的么?有点
iPhone6sp没插耳机显示耳机怎么办
听渔轩国际品牌渔具加盟店地址在哪,我要去那
为什么女孩子看三国演义是无所谓呢?
"持剑,坐莲花宝座,骑狮子"的形象是哪位菩萨
要想加入snh得具备什么条件啊!
大音希声,大道无形的近义词
佐助和他哥哥 打架的第几集
海博电脑安防怎么去啊,有知道地址的么
推荐资讯
权志龙讽刺成龙的综艺节目是什么
谁有陈道明演的钱钟书的《围城》全集啊,我要
3/7×5除以3/7×以五等于多少
求:MVP情人里的日语插曲
新买的rival 700查出来是这样子,有问题吗
云安石我想知道这个在什么地方
雷神3百度云有吗,跪求
3.1暴恐案件给人民带来哪些危害?
洁顺蒸汽洗车汽车饰品地址在什么地方,想过去
月朦胧鸟朦胧帘卷海棠红 ——————朱自清
有没有国窖1753这个酒
今天晚上中央5套放斯诺克决赛吗
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?