如何在Excel中的PowerPivot数据透视表中将单元格值链接为过滤器?

问题描述 投票:1回答:1

我在Sheet PivotTables_Sheetand中有两个数据透视表(PivotTable1和PivotTable2),这是一个在Sheet YearInput中显示年份的单元格。我尝试将YearInput中的单元格年份(J4)链接为数据透视表中的所有数据透视表。

但不知何故,我的代码无法按预期工作。有谁知道如何更正此代码?这是代码:

Private Sub Worksheet_Change(ByVal Target As Range)
   If Not Target.Address = Range("J4").Address Then Exit Sub
     Dim pt As PivotTable
     Dim ptItem As PivotItem
   On Error Resume Next
  For Each pt In Worksheets("PivotTables_Sheet").PivotTables
    With pt.PivotFields("Year for Sales")
        If .EnableMultiplePageItems = True Then
            .ClearAllFilters
        End If
        Set ptItem = .PivotItems(Target.Value)
        If Not ptItem Is Nothing Then
            .CurrentPage = Target.Value
         End If
      End With
  Next
End Sub

注意:我使用Excel 2010并使用PowerPivot构建了数据透视表。

excel vba excel-vba pivot-table powerpivot
1个回答
0
投票

在没有VBA的情况下执行此操作的一种方法是使用在所有枢轴之间通用的切片器。然后一年更改为一年,它还将更新其他数据透视表。

首先单击数据透视表,然后在功能区上显示“分析”选项。在那之下有一个插入切片器,你可以做一年。

然后你会去你的其他枢轴,而是做过滤器连接,并选择你的年切片机。

请注意,如果您不希望最终用户看到年份切片器,则可以将其移动到隐藏工作表,它仍然可以在引用它的所有枢轴上传播年份。

© www.soinside.com 2019 - 2024. All rights reserved.