urd*_*boy 3 excel vba pivot-table
我需要在刷新后更新数据透视过滤器以选择除 之外的所有过滤器选项blank。
这里的其他答案使用的.ShowAllItems方法对我不起作用,因为它也会显示没有数据的项目(Display下的枢轴选项)。
我尝试使用在另一个问题上找到的另一个解决方案,.PivotItems("(All)").Visible = True然后删除空白,但这没有任何作用。
如何修改数据透视字段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
Run Code Online (Sandbox Code Playgroud)
当我必须这样做时,我只需使用类似的东西:
On Error Resume Next
With pvt
.ClearAllFilters
.PivotItems("(blank)").Visible = False
End With
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6097 次 |
| 最近记录: |