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

时间:2015-04-07 09:21:34

标签: excel pivot overlap cube overlapping

在广泛的Excel文件(=约40张)中,有许多支点(从单个OLAP多维数据集中提取;因此所有支点都有一个连接)。通常,同一工作表中有几个数据透视表。

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

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

2 个答案:

答案 0 :(得分:0)

您可以使用以下方法识别VBA中的范围:

Activesheet.pivottables(1).databodyrange.address

您还可以使用“相交”功能确定两个范围是否相交。

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移动数据透视表。或者,您可以使用宏录制器动态重新创建数据透视表,并根据在其之前的同一页面上创建的数据透视的边界来定位它们。

答案 1 :(得分: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

as

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

在即时窗口中查看输出:

Where does VBA Debug.Print log to?