从今天早些时候解决了我原来的问题 - 现在我的工作代码并没有像我一样产生完美的结果。简而言之,我循环遍历所有工作表并将所有枢轴设置为过滤为单个值。除非清除过滤器并显示所有内容,否则我不想要多个值。我的代码显示了所需的数据,但数据透视表上的过滤器显示为多个值(选中了一个值)。如何将其作为单个选项对待,并在数据透视过滤器上显示单个值?
Sub Loop_Complex_bkup()
Dim wks As Worksheet, strName As String, pvt As PivotTable, strPvtName As String
For Each wks In Worksheets
strName = wks.Name
For Each pvt In wks.PivotTables
strPvtName = pvt.Name
With Sheets(strName).PivotTables(strPvtName).PivotFields("OrderSubType")
.ClearAllFilters
For Each PivotItem In .PivotItems
If PivotItem = "Complex" Then PivotItem.Visible = True
If PivotItem <> "Complex" Then PivotItem.Visible = False
Next
End With
Next
Next
Set wks = Nothing
Set pvt = Nothing
End Sub
答案 0 :(得分:1)
由于我有一个类似的问题我终于解决了,我决定发布我找到的解决方案给任何仍在搜索的人。我使用的代码是:
With Sheets(strName).PivotTables(strPvtName).PivotFields("OrderSubType")
.ClearAllFilters
.CurrentPage = "Complex"
End With
.CurrentPage
选择一个过滤条目,默认为.EnableMultiplePageItems = False
我也不确定过滤器显示如何在通过切片器连接的数据透视表之间受到影响,所以我建议在这些表之间设置相同的EnableMultiplePageItems
。
注意:对于有同样问题的人,除了想要.EnableMultiplePageItems = True
我必须使用以下代码来修复过滤器显示。
With Sheets(strName).PivotTables(strPvtName).PivotFields("OrderSubType")
.ClearAllFilters
.CurrentPage = "Complex"
.EnableMultiplePageItems = True
For Each PI In .PivotItems
If PI.Name <> "Complex" Then PI.Visible = False
Next PI
End With
我知道它看起来多余,但在添加.CurrentPage
和.EnableMultiplePageItems
行之前,显示屏无法自行修复。
答案 1 :(得分:0)
您正在寻找的命令是.EnableMultiplePageItems。如果我正确地理解了这个问题,那就是你要找的东西:
#time_range .ui-slider-handle:after {
content : attr(data-value);
position: absolute;
...
**line-height: 10px;**
答案 2 :(得分:0)
我已经尝试过并且可以进行以下工作:
带有工作表(strName)。数据透视表(strPvtName).PivotFields(“ OrderSubType”)。CurrentPage = _ “(全部)”
带有工作表(strName).PivotTables(strPvtName).PivotFields(“ OrderSubType”) .ClearAllFilters .EnableMultiplePageItems = False .CurrentPage =“复杂”
结尾为