【发布时间】:2018-12-18 11:12:14
【问题描述】:
我需要在刷新后更新数据透视过滤器以选择除blank 之外的所有过滤器选项。
这里的其他答案使用.ShowAllItems 方法,这对我不起作用,因为它也会显示没有数据的项目(Display 下的pivot 选项)。
我尝试使用在另一个问题.PivotItems("(All)").Visible = True 中找到的另一个解决方案,然后删除空白,但这没有任何作用。
如何修改 Pivot Field Activity Name 以检查除空白以外的所有项目?
Sub PivotRefresh()
Dim ws As Worksheet
Dim pvt As PivotTable
Application.ScreenUpdating = False
ThisWorkbook.RefreshAll
Application.Calculation = xlCalculationManual
For Each ws In Worksheets
If ws.Name = "OC" Or ws.Name = "P2" Then
For Each pvt In ws.PivotTables
On Error Resume Next
pvt.PivotFields("Exclude").PivotItems("Yes").Visible = False
pvt.PivotFields("Activity Name").PivotItems("(All)").Visible = True
pvt.PivotFields("Activity Name").PivotItems("(blank)").Visible = False
On Error GoTo 0
Next pvt
End If
ws.Range("A:W").EntireColumn.AutoFit
Next ws
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub
【问题讨论】:
标签: vba excel pivot-table