我有一本工作簿,其中包含多个数据透视表。我发现一些代码可以立即刷新所有数据透视表(分配给按钮)。但为了使其余的计算正常进行,我目前必须转到每个表并从“行标签”过滤器中取消选择(空白)。
我尝试了很多选项来添加代码,这些代码也可以过滤掉空格,但似乎无法获得正确的语法。
这是我目前用来刷新所有数据透视表的内容;我还需要添加什么来过滤空白?
Sub RefreshAllPivotTables()
Dim PT As PivotTable
Dim WS As Worksheet
For Each WS In ThisWorkbook.Worksheets
For Each PT In WS.PivotTables
PT.RefreshTable
Next PT
Next WS
End Sub
最佳答案
试试这个。基本上只是添加了每个数据透视字段的循环
Sub RefreshAllPivotTables()
Dim PT As PivotTable
Dim WS As Worksheet
Dim PF As PivotField
For Each WS In ThisWorkbook.Worksheets
For Each PT In WS.PivotTables
PT.RefreshTable
For Each PF In PT.PivotFields
On Error Resume Next
PF.PivotItems("(blank)").Visible = False
Next PF
Next PT
Next WS
End Sub
关于vba - 我有一个宏来刷新工作簿中的所有数据透视表,我需要添加代码来删除(空白),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49418194/