我试着看了这个论坛和其他人,但我找不到正确的工作代码了。
我想在数据透视表上过滤一个值等于或大于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
但这也不起作用。
谁能帮帮我吗?非常感谢你提前。
编辑:显然,我的字段是计算字段的事实很重要。尽管如此,仍然没有答案。
所以,我发现自己回答了我的问题。
由于我想要过滤的列是值和计算字段,我实际上需要通过右键单击我的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
希望它可以帮助你们中的一些人,因为我在很多论坛上都没有看到这个问题的答案。
祝你今天愉快!