Excel 2013:一个工作表上的多个数据透视表(BELOW)彼此

我需要创build与多个数据透视表的仪表板在同一个Excel表中一个在另一个下面。

问题是当数据透视表刷新的时候可能会更长(更多的行),所以它会给出一个警告,说明它所需要的行会被覆盖。

我想知道如何configurationExcel数据透视表在透视表中添加行而不覆盖以下内容。

我已经看到一个例子,当微软Techdays 2013,但我不记得的方法。 (在Excel 2013中启用了一个checkbox)

谢谢。

每当我有一个以上的数据透视表时,我也是

1)限制一个数据透视表的行数,例如我有报告说需要滚动6个月的值,所以我总是有6行,但每月提前的值。 在这种情况下,您需要使用VBA来“检查”和“取消”显示的值。 使用Googlesearch中find的方法来执行此操作:

https://www.google.com/search?q=find+last+used+row#q=excel+pivot+table+vba+to+filter+row+values

2)每次刷新时,重新创build每个数据透视表,相应地定位每个数据透视表,删除现有数据透视表,然后从上到下重新创build数据透视表。 对于这个方法,你需要确定数据透视表中的哪一行是最后一行,这样你就可以重新创build下一行。 使用Googlesearch中的方法来查找最后一个数据透视表行:

https://www.google.com/search?q=find+last+pivot+table+row

我最近遇到这个问题,并build立了以下。 当然要做到这一点,必须满足的前提条件是原则上两张表适合在一张纸上。 我所做的是在两个表之间build立足够的空间(=行),刷新后隐藏表之间留下的行。 所以它需要VBA,例如可以在PivotTable_Update事件上执行。

Private Sub hideRowsBetweenListObjects(sheetName As String) Dim tblRowPosition1 As Integer Dim tblNrOfRows1 As Integer Dim tblRowPosition2 As Integer Dim tblNrOfRows2 As Integer 'Initialize Application.ScreenUpdating = False With Worksheets(sheetName).ListObjects(1) tblRowPosition1 = .Range.Row tblNrOfRows1 = .Range.Rows.Count End With With Worksheets(sheetName).ListObjects(2) tblRowPosition2 = .Range.Row tblNrOfRows2 = .Range.Rows.Count End With With Worksheets(sheetName) If tblRowPosition1 < tblRowPosition2 Then .Range(.Cells(tblRowPosition1 + tblNrOfRows1, 1), .Cells(tblRowPosition2 - 4, 1)).EntireRow.Hidden = True ElseIf tblRowPosition2 < tblRowPosition1 Then .Range(.Cells(tblRowPosition2 + tblNrOfRows2, 1), .Cells(tblRowPosition1 - 4, 1)).EntireRow.Hidden = True End If End With 

结束小组