gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 21:23:12 27 4
gpt4 key购买 nike

当用户按下按钮时,我需要更新 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/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com