Excel 2013:一个工作表上的多个透视表彼此位于下方

bhmjp9jg  于 2023-01-18  发布在  其他
关注(0)|答案(3)|浏览(433)

我需要在同一Excel工作表中创建一个在另一个下面的多个透视表 Jmeter 板。
问题是,当数据透视表刷新时,它可能会更长(更多行),因此它会发出警告,指出低于所需行的行将被覆盖。
我想知道如何配置Excel数据透视表在数据透视表中添加行而不覆盖以下内容。
我已经看到了一个例子,当微软Techdays 2013,但我不记得的方法.(有一个复选框,在Excel 2013中启用)
谢谢你。

bxfogqkk

bxfogqkk1#

每当每个工作表有多个数据透视表时,我
1)限制数据透视表的行数,例如,我的报表需要滚动6个月的值,所以我总是有6行,但每个月的值都会提前。在这种情况下,您需要使用VBA来“选中”和“取消选中”显示的值。使用在此Google搜索中找到的方法来执行此操作:
https://www.google.com/search?q=find+last+used+row#q=excel+pivot+table+vba+to+filter+row+values
2)每次刷新时,通过删除现有透视表,然后自上而下重新创建透视表,从头开始重新创建每个透视表,并相应地定位每个透视表。对于此方法,您需要确定透视表中的最后一行,以便可以在其下重新创建下一行。使用Google搜索中的方法来查找透视表的最后一行:
https://www.google.com/search?q=find+last+pivot+table+row

rkttyhzu

rkttyhzu2#

我最近遇到了这个问题,并构建了以下内容。当然,要使其工作,必须满足原则上两个表可以放在一个工作表上的前提条件。我要做的是,在两个表之间构建足够的空间(=行),并在刷新后隐藏表之间剩下的行。因此,它确实需要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

末端子组件

b1zrtrql

b1zrtrql3#

如果你使用的是专业版的excel,你可以使用powerview.来创建 Jmeter 板。当使用powerview时,你可以限制数据透视表使用的空间。
更多信息,请参见以下链接:
how to activate powerview
microsoft tutorial on powerview
excel powerview combined with sharepoint

相关问题