我有一个带有工作表的Excel工作簿,其中包含一些公司模板标题,其下方放置了一个数据透视表。
此文档将用作数据透视报表的模板,并且标题必须在数据透视表上方保持完整,但是当项目添加到页面过滤器时,数据透视表会尝试向上扩展并最终覆盖标题行上方。
添加报告过滤器时,我需要数据透视表向下展开页面,而不是向上展开页面。
答案 0 :(得分:1)
在查看是否存在可以更改的设置以使数据透视表向下展开页面后,我查看了如何使用VBA编写功能脚本。通过Visual Basic for Applications
屏幕将以下代码添加到工作表中,检查每次更新时数据透视表的位置,然后如果在报表中添加或删除页面过滤器,则在页面上下移动它。设置StartLineLet
&您希望数据透视表或页面项左上角保留的单元格地址的StartLineNum
个变量。
Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
Dim StartLineLet As String
Dim StartLineNum As Integer
Dim DataAddr() As String
Dim PageAddr() As String
StartLineLet = "B"
StartLineNum = 6
DataAddr = Split(Target.TableRange1.Cells(1).Address, "$")
PageAddr = Split(Target.TableRange2.Cells(1).Address, "$")
If PageAddr(2) <> StartLineNum Then
Target.Location = "$" & StartLineLet & "$" & (DataAddr(2) + (StartLineNum - PageAddr(2)))
End If
End Sub
答案 1 :(得分:0)
您还可以指示数据透视表(通过数据透视表选项&gt; 布局和格式)来显示报告字段向下,然后在通过更改每列的报告筛选字段,例如从零到三的值。
这将使数据透视表移动三行有限,然后开始向右添加报告字段(以三行为一组)