识别刷新后哪些 Excel 数据透视表将重叠

问题描述 投票:0回答:2

在大量 Excel 文件(= 大约 40 张)中,有许多枢轴(从单个 OLAP 多维数据集绘制;因此所有枢轴都有一个连接)。通常,同一个工作表中有多个数据透视表。

每当 OLAP 多维数据集发生更改时,可能需要很长时间才能找出哪些更改导致重叠,从而导致取消刷新。 有没有办法找出刷新连接时许多数据透视表中的哪一个导致重叠?

附带条件:将每个数据透视表保存在单独的工作表中不是一个选项(对于许多工作表),也不能将数据转换为多维数据集函数。

excel pivot overlap cube overlapping
2个回答
0
投票

您可以通过以下方式识别 VBA 中的范围:

Activesheet.pivottables(1).databodyrange.address

您还可以使用 Intersect 函数来确定两个范围是否相交。

http://www.globaliconnect.com/excel/index.php?option=com_content&view=article&id=154:referencing-an-excel-pivot-table-range-using-vba&catid=79&Itemid=475

您必须进一步深入了解是否可以使用 VBA 移动数据透视表。或者,您可以使用宏记录器动态重新创建数据透视表,并根据在其之前的同一页面上创建的数据透视表的边界来定位它们。


0
投票

此解决方案涉及一些 VBA,但可以复制/粘贴:

https://exceleratorbi.com.au/find-overlapping-pivot-tables/

本质上,它涉及“记录”数据透视表的每次刷新**。当您的数据透视失败时,该条目将不会被记录。允许您识别失败的表。

**您需要首先从成功运行中获取枢轴列表/顺序

或者

您可以获得所有表格及其工作表的列表,然后猜测重叠的内容:

https://excelreality.blogspot.nl/2014/08/finding-source-pivot-table-cannot.html

或者

以下答案稍作调整就满足了我的需求(由于内存错误删除了更新),然后阅读错误前的最后一个表格: https://superuser.com/questions/703847/how-do-i-find-which-pivot-tables-has-an-error-in-excel-2010

Sub ref()

Dim Sheet As Worksheet, Pivot As PivotTable, result As Boolean
For Each Sheet In ThisWorkbook.Worksheets
    For Each Pivot In Sheet.PivotTables
        Debug.Print Sheet.name & "-->" & Pivot.name
        Pivot.RefreshTable
    Next
Next

End Sub

在立即窗口中查看输出:

VBA Debug.Print 日志记录到哪里?

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