我有一个带有工作表的 Excel 工作簿,其中包含一些公司模板标题,下面有一个数据透视表。
本文档将用作数据透视报告的模板,并且标题必须在数据透视表上方保持不变,但是当将项目添加到页面过滤器时,数据透视表会尝试向上扩展并最终覆盖上面的标题行。
添加报告过滤器时,我需要数据透视表向下展开页面而不是向上展开页面。
最佳答案
在查看是否有可以更改的设置以使数据透视表向下扩展页面后,我研究了如何使用 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
关于excel - 防止 Excel 数据透视表页面项覆盖上面的单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21527819/