在其他工作表上按单元格值对数据透视表进行过滤

时间:2019-04-02 15:20:29

标签: excel vba pivot-table powerquery

我正在尝试根据单元格值过滤数据透视表。我正在使用的单元格值与数据透视表不在同一张纸上。数据透视表是通过数据连接/电源查询生成的。

过滤器的价值 工作表名称:“ HOME”, 单元格:E11

重要表格 工作表名称:“ PIVOTSHEET”, PT名称:“ PIVOT”, 要过滤的PT字段:“ ID”

如果HOME表格上E11中的值存在于“ ID”过滤器中,则用E11值过滤枢轴中的“ ID”字段

如果E11中的值不存在,请过滤数据透视表,使其为空

我尝试了以下代码(可在网上找到并编辑)。我一直在调试,这让我发疯。我到达了要运行公式的地方,以将E11中“ HOME”中的值放置到“ PIVOTSHEET”上的单元格C1中(C1 = HOME!E11),但是它仍然无法正常工作。

任何帮助将不胜感激。

Private Sub Worksheet_Change(ByVal Target As Range)

If Intersect(Target, Range("C1")) Is Nothing Then Exit Sub

Dim pt As PivotTable
Dim pf As PivotField
Dim NewCat As String

Set pt = Worksheets("PIVOTSHEET").PivotTable("PIVOT")
Set pf = pt.PivotField("[Combo].[ID].[ID]")
NewCat = Worksheets("PIVOTSHEET").Range("C1").Value

With pf
    .ClearAllFilters
    .CurrentPage = NewCat
End With

pt.RefreshTable

End Sub

0 个答案:

没有答案