5

我有 3 张纸,每张纸上有几个数据透视表,一张纸上有源数据。这 4 张纸是直接从另一个工作簿中复制的。当我将工作表复制到每个数据透视表的源数据上时,仍然是原始工作簿中的原始源数据表。因此,我将每个数据透视表的源更改为复制的原始数据表。在执行此操作时,我必须断开所有数据透视表切片器才能更改源。

现在,这就是我的问题所在;当我回去重新连接切片器时,列表中只显示一个数据透视表,而实际上我需要将切片器连接到几个。我需要做什么?

注意:我使用我创建的宏完成了所有这些操作,因此我愿意使用宏。

4

3 回答 3

5

我能够通过以下步骤解决此问题;

  1. 删除所有切片器

  2. 更改表名称:

    (此处为示例)

  3. 对于每个数据透视表,单击更改数据源按钮。新名称应该已经在那里,所以只需按 Enter。如果您没有删除所有切片器,它将引发错误,表明它现在仅识别具有相同数据源的其他数据透视表。

    (此处为示例)

  4. 创建一个新的切片器并重新连接到所有表。

请注意,可能不需要第 2 步,但这是我遵循的工作流程。

于 2018-07-25T01:28:14.587 回答
0

我遇到了同样的问题,不是所有的枢轴都出现了,并注意到虽然 SOURCE 完全一样,但我在源中选择的 RANGE 是不同的。我将数据透视表中的所有范围重置为相同,所有表现在都显示在切片器中以供选择。

于 2021-05-03T21:08:35.427 回答
0

我有同样的问题,并使用以下想法修复它。

  1. 重新分配数据透视表的数据源(首先定义一个数据透视表源,然后将 PivotCache 复制到其他数据源):

         Sheets("nameofthesheet").Select
    
             ActiveSheet.PivotTables("PivotTable1").ChangePivotCache _
         ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
         "name_of_the_table")
    
         ActiveSheet.PivotTables("PivotTable2").CacheIndex = ActiveSheet.PivotTables("PivotTable1").CacheIndex
         ActiveSheet.PivotTables("PivotTable3").CacheIndex = ActiveSheet.PivotTables("PivotTable1").CacheIndex
         ActiveSheet.PivotTables("PivotTable4").CacheIndex = ActiveSheet.PivotTables("PivotTable1").CacheIndex
    
  2. 重建切片器(录制宏会很有用!)

于 2022-01-05T20:45:38.777 回答