PowerPivot切片器VBAfilter后不刷新

我正在尝试使用下面的代码片段来过滤一个数据透视表。 代码工作,但切片器不更新,以反映刚刚应用的filter。 如果我手动过滤数据透视表,切片会更新。

我尝试刷新/刷新全部,手动更新设置和屏幕更新设置。 我被困住了。 有任何想法吗?

ActiveSheet.PivotTables("PivotTable1").PivotFields( _ "[DataWithDuplicates_FULL].[PA_Select].[PA_Select]"). _ PivotFilters.Add Type:=xlCaptionContains, Value1:=SrchTrm 

切片机通过查看是否可见PivotItem来工作。 使用PivotFilters.Add Type:=xlCaptionContainstypes的策略将适当地过滤您的数据,但不会“检查”正确的过滤框。

让filter/切片机以您想要的方式进行响应的方式就像

 Dim pf As PivotField Dim pi As PivotItem Dim pt As PivotTable Set pt = ActiveSheet.PivotTables("PivotTable1") Set pf = pt.PivotFields("[DataWithDuplicates_FULL].[PA_Select].[PA_Select]") pf.ClearAllFilters For Each pi In pf.PivotItems pi.Visible = pi.Caption Like "*" & SrchTrm & "*" Next pi 

小心select没有值,因为数据透视表将抛出一个错误,当你告诉它没有select。