筛选数据透视表列

时间:2018-08-28 09:09:38

标签: vba filter filtering pivot-table calculated-columns

我尝试了这个论坛和其他论坛,但找不到合适的工作代码。

我想在数据透视表上过滤值等于或高于10%的列。 当我记录宏时,代码如下:

Sub Macro9()
Macro9 Macro
ActiveSheet.Range("$A$5:$M$36607").AutoFilter Field:=13, Criteria1:=">=0.1" _
    , Operator:=xlAnd

End Sub

这行不通,但我想稍后再启动宏。

所以我尝试了其他代码,如下所示:

 Sub FilterPivotTable()

 Application.ScreenUpdating = False
 ActiveSheet.PivotTables("PivotTable1").ManualUpdate = True

  ActiveSheet.PivotTables("PivotTable1").PivotFields("Name of my column").ClearAllFilters

  ActiveSheet.PivotTables("PivotTable1").PivotFields("Name of my column").PivotFilters. _
Add Type:=xlCaptionEquals, Value1:=">=0.1"

ActiveSheet.PivotTables("PivotTable1").ManualUpdate = False
Application.ScreenUpdating = True
End Sub

但这也不起作用。

有人可以帮助我吗? 预先非常感谢。

编辑:显然,我的字段是计算字段,这一事实很重要。仍然没有答案。

1 个答案:

答案 0 :(得分:0)

因此,我找到了自己的答案。

由于我要过滤的列是值和计算字段,因此我实际上需要通过右键单击PVT的行值内的单元格来过滤这些列。然后,我不得不通过选择正确的值进行筛选以添加和添加我的条件。 录制宏时的代码如下:

ActiveSheet.PivotTables("PivotTable1").ClearAllFilters
ActiveSheet.PivotTables("PivotTable1").PivotFields("Your row name").PivotFilters. _
Add2 Type:=xlValueIsGreaterThanOrEqualTo, DataField:=ActiveSheet. _
PivotTables("PivotTable1").PivotFields("Your value field"), Value1:=0.1

希望它可以对某些人有所帮助,因为我在许多论坛上都没有找到解决此问题的答案。

祝你有美好的一天!