Pivot/Table 过滤器通过 link 从其他 table 的单元格值激活

Pivot/Table filter activated through link from other table's cell value

我有一个要处理的项目列表,有些项目需要更深入的分析。基本上我有两个 table。第一个显示生产结果,通过过滤 U 列,我得到异常值列表,如下图所示。

Table of outliers

然后,S 列中显示的值需要进一步分析,为此已设置数据透视图。在此图表中,我过滤了特定的 VRTY 编号以仔细查看。

Pivot Chart for analysis

两个工作表都包含在同一个工作簿中,我基本上使用两个 windows 打开,但要浏览列表,我必须在数据透视过滤器中手动输入每个 VRTY 值。

数据透视图table和离群值table不相关,数据来源不同

在异常值 table (VRTY) 的 S 列中,理想情况下,我会将这些值转换为链接,在单击时自动将数据透视过滤器设置为此值。

我是 VBA 的新手,但根据我所做的研究,这将是唯一的选择 - 我只是没有得到如何实现此特定功能的说明。

非常感谢您的指导/建议。

三宝:确保数据透视表的底层数据透视表中'Number'字段的方向是PageField,然后将下面的代码放在[=23]对应的Sheet代码模块中=] 其中异常值数据透视表是:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    Dim pf          As PivotField
    Dim pf_Slave    As PivotField

    Set pf = ActiveSheet.PivotTables("PivotTable1").PivotFields("VRTY")
    Set pf_Slave = ActiveSheet.PivotTables("PivotTable2").PivotFields("number")


    If Not Intersect(Target, pf.DataRange) Is Nothing Then
        On Error Resume Next
        pf_Slave.CurrentPage = CStr(Target)
        On Error GoTo 0
    End If

End Sub

适当更改 "PivotTable1" 和 "PivotTable2"。

"Sheet code module" 我指的是这类事情: