vba - excel 2010 vba循环数据透视表

标签 vba excel loops pivot-table

当用户按下按钮时,我需要更新 16 个数据透视表。需要运行的代码如下:

ActiveSheet.PivotTables("PivotTable10").PivotFields("count").ClearAllFilters
        ActiveSheet.PivotTables("PivotTable10").PivotFields("scrap code").ClearAllFilters
               ActiveSheet.PivotTables("PivotTable10").PivotFields("count").ShowAllItems = True

        With ActiveSheet.PivotTables("PivotTable10").PivotFields("count")
            .PivotItems("0").Visible = False
        End With

数据透视表的名称是:MSP,MSP30,FSP,FSP30,MRP,MRP30,FRP,FRP30,MPP,MPP30,FPP,FPP30,MCP,MCP30,FCP,FCP30
我想替换 PivotTable10带有一个循环遍历该数据透视表列表的变量。现在我的代码是上面代码的 16 block 。我对循环知之甚少,在我的谷歌搜索中也没有找到这种循环的好例子。

编辑:最终代码有效,下面的两个答案都运行良好,此代码运行速度稍快
Sub IteratePivots()

Application.ScreenUpdating = False

On Error Resume Next

Worksheets("Analytics Admin").Activate

Dim pvtTables As PivotTables
Dim pvtTable As PivotTable
Set pvtTables = Application.ActiveSheet.PivotTables
For Each pvtTable In pvtTables
    pvtTable.PivotFields("count").ClearAllFilters
    pvtTable.PivotFields("scrap code").ClearAllFilters
    pvtTable.PivotFields("count").ShowAllItems = True

    With pvtTable.PivotFields("count")
        .PivotItems("0").Visible = False
    End With
Next

Application.ScreenUpdating = False
End Sub

最佳答案

试试这个代码。此代码将遍历工作表中的所有可枢转对象。

Sub IteratePivots()
Dim pvtTables As PivotTables
Dim pvtTable As PivotTable
Set pvtTables = Application.ActiveSheet.PivotTables
For Each pvtTable In pvtTables
    pvtTable.PivotFields("count").ClearAllFilters
    pvtTable.PivotFields("scrap code").ClearAllFilters
    pvtTable.PivotFields("count").ShowAllItems = True

    With pvtTable.PivotFields("count")
        .PivotItems("0").Visible = False
    End With
Next
End Sub

关于vba - excel 2010 vba循环数据透视表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35204733/

相关文章:

excel - VBA - 如果行不存在,则根据 A 列和 C 列将行从工作表 X 复制到工作表 Y

c++ - 从选择的语句中删除选择

javascript - 不同浏览器中的无限js循环

python - 在没有字符串切片的情况下打印字符串中的奇数字符?

performance - 在 Excel VBA 中迭代类

excel - 将 Excel 作为 csv 导出到另一个位置时出现问题,vba - 窗口 "blacks out"

excel - 添加数据验证时对象定义错误

vba - 将工作表复制到 VbScript 中的新工作簿 - "the object invoked is disconnected from its clients"错误代码 : 80010108

ms-access - VBA如何在出错时退出功能?不工作Access 2007

excel - 使用 OR 条件过滤 Excel 数据透视表