更改多个Excel数据透视表的源数据,但不使用缓存

时间:2014-10-17 17:15:25

标签: excel excel-vba vba

我必须回答来自相同源数据的数百个问题,这是一个85mb的文件(大约300k行)。我创建了数据透视表来回答问题,但是在与源数据分开的文件中,使其全部可管理。

我的问题是,在我设置了一堆数据透视表之后,我注意到我需要在源数据中创建另一列(为过滤器分组数据),这会影响我最初在数据透视中使用的范围表。即使我使用命名范围作为源数据,也会发生这种情况。

因为我有很多数据透视表并且源数据太大,所以我不想使用数据透视表缓存。我见过的关于如何更改源数据范围的所有方法都依赖于缓存。有没有办法在没有缓存的情况下执行此操作或使用缓存然后将其关闭?

我正在使用Excel 2010。

1 个答案:

答案 0 :(得分:1)

数据透视表必须构建在数据透视表之上。你不能将两者分开,仍然有一个数据透视表。

您是否可以将过滤器字段添加到数据集的末尾,以便现有的PivotCache不会自动获取它,然后使用新的更大范围创建新的数据透视表?这将创建两个PivotCaches,一个没有过滤器的原始数据库,以及带过滤器的新数据库。这种方法的缺点是数据透视表会占用磁盘空间,它会使工作表的大小膨胀。缓存大小与它所基于的数据大小相同,因此这可能会使工作表的大小增加一倍。