Excel 2007 VBA - 数据透视表字段列表???造成错误

时间:2011-09-14 13:45:23

标签: excel vba pivot-table


2011年10月14日的最新更新 - 我现在了解更多信息,因此我将在此汇总所有内容并删除之前的所有说明/问题。

问题是,在运行某个程序后,我得到了一些奇怪的错误。当我点击“拆分”时,它类似于,但不完全一样。不同的是实心灰色条不显示。这有点奇怪。最近,我开始认为它可能是由所涉及的数据透视表的字段列表引起的。

以下三个代码

中的任何一个都会出现问题

代码1

Dim pvtCache As PivotCache
For Each pvtCache In ThisWorkbook.PivotCaches
    pvtCache.Refresh
Next pvtCache

代码2

ThisWorkbook.RefreshAll

代码3

Dim ws As Worksheet
Dim pt As PivotTable
For Each ws In ThisWorkbook.Worksheets
    For Each pt In ws.PivotTables
        pt.RefreshTable
    Next pt
Next ws

但不是这个,唯一的区别是我添加了ws.Activate代码3

代码4

Dim ws As Worksheet
Dim pt As PivotTable
For Each ws In ThisWorkbook.Worksheets
    ws.Activate
    For Each pt In ws.PivotTables
        pt.RefreshTable
    Next pt
Next ws

所以,我的问题是,任何人都能解释一下吗?任何人都可以修复代码1(在具有来自大型数据源的2个透视缓存的电子表格中更快,但是有46个数据透视表)以使其在没有此错误的情况下工作吗?

感谢您的帮助!!!

2 个答案:

答案 0 :(得分:0)

我有多个工作表的多个支点,所有三个代码段都可以正常工作。应该有其他原因导致问题,而不是代码。

答案 1 :(得分:0)

您的代码段正确运行。

运行代码后,屏幕显示可能无法刷新。

尝试添加此代码:

Application.ScreenUpdating = False
    ''//Your code here
DoEvents
Application.ScreenUpdating = True