Excel 如何过滤所有的;“字符串”;从数据透视表中删除
我正在尝试从透视表中筛选出包含字符串“PRC”的所有行。我是通过录制一个宏来实现这一点的,但是当我击键时,我得到了下面的代码(在宏录制中)将每一行单独过滤掉,而不是所有包含“PRC”的行。问题是,当我在下一个报告中使用此宏时,它仅过滤出记录了字符串的完全相同的行,并在下一个报告中不包含完全相同的行(完全相同的字符串)时向我发出错误消息,然后进一步不过滤出不同的行(新的行)。请帮助:Excel 如何过滤所有的;“字符串”;从数据透视表中删除,excel,vba,Excel,Vba,我正在尝试从透视表中筛选出包含字符串“PRC”的所有行。我是通过录制一个宏来实现这一点的,但是当我击键时,我得到了下面的代码(在宏录制中)将每一行单独过滤掉,而不是所有包含“PRC”的行。问题是,当我在下一个报告中使用此宏时,它仅过滤出记录了字符串的完全相同的行,并在下一个报告中不包含完全相同的行(完全相同的字符串)时向我发出错误消息,然后进一步不过滤出不同的行(新的行)。请帮助: With ActiveSheet.PivotTables("PivotTable7").PivotFields("
With ActiveSheet.PivotTables("PivotTable7").PivotFields("Part Description")
.PivotItems("PRC,4214,2.2,16.5MB,CLX,L1").Visible = False
.PivotItems("PRC,4214Y,2.2,16.5MB,CLX,L1").Visible = False
.PivotItems("PRC,5215,2.5,13.75MB,CLX,L1").Visible = False
.PivotItems("PRC,6137,3.9,24.75MB,SKL,H0").Visible = False
.PivotItems("PRC,6146,3.2,24.75MB,SKL,H0").Visible = False
.PivotItems("PRC,6226,2.7,19.25MB,CLX,B1").Visible = False
.PivotItems("PRC,6230N,2.3,27.5MB,CLX,B1").Visible = False
.PivotItems("PRC,6246,3.3,24.75MB,CLX,B1").Visible = False
.PivotItems("PRC,7251,2.1,32M,ONP,120W,B2").Visible = False
.PivotItems("PRC,7281,2.1,32M,ONP,155W,B2").Visible = False
.PivotItems("PRC,7301,2.2,64M,ONP,155W,B2").Visible = False
.PivotItems("PRC,7351,2.4,64M,ONP,155W,B2").Visible = False
.PivotItems("PRC,7351P,2.4,64M,ONP,155W,B2").Visible = False
.PivotItems("PRC,7371,3.1,64M,ONP,200W,B2").Visible = False
.PivotItems("PRC,7401,2.0,64M,ONP,155W,B2").Visible = False
.PivotItems("PRC,7401P,2.0,64M,ONP,155W,B2").Visible = False
.PivotItems("PRC,7551,2.0,64M,ONP,180W,B2").Visible = False
.PivotItems("PRC,7601,2.2,64M,ONP,180W,B2").Visible = False
End With
您可以使用
Instr
检查数据透视项是否包含文本“PRC”,如如果Instr(PvtItm.Caption,“PRC”)>0则
修改代码
Option Explicit
Sub FilterPivotItems()
Dim PvtItm As PivotField
Dim PvtTbl As PivotTable
'Set the Pivot Table object
Set PvtTbl = ActiveSheet.PivotTables("PivotTable7")
' loop through Pivot-items
For Each PvtItm In PvtTbl.PivotFields("Part Description")
If InStr(PvtItm.Caption, "PRC") > 0 Then
PvtItm.Value = False
End If
Next PvtItm
End Sub