我尝试了这个论坛和其他论坛,但找不到合适的工作代码。
我想在数据透视表上过滤值等于或高于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
但这也不起作用。
有人可以帮助我吗? 预先非常感谢。
编辑:显然,我的字段是计算字段,这一事实很重要。仍然没有答案。
答案 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
希望它可以对某些人有所帮助,因为我在许多论坛上都没有找到解决此问题的答案。
祝你有美好的一天!