我有一张excel powerpivot表,我已经保护了表格和单元格。
1)我试图让数据透视表功能正常,多个用户在整个工作表受到保护的情况下展开/折叠字段。
2)重要事项:每个用户都有自己独特的过滤视图,我不希望用户1能够取消过滤透视表以查看用户2-10数据。
现在,保护看起来要么具有FULL Pivot表功能,要么没有。我隐藏了数据透视表过滤器下拉并保护了工作表。
我发现了一个漏洞,“分析 - >清除过滤器”这将允许用户2-10查看用户1数据,这是我不想要的。
有没有人知道如何在数据透视表上锁定分析功能,但是允许数据透视表扩展/折叠功能?
编辑:源数据来自Power Query - > Power Pivot,然后从PowerPivot生成pivotTable。
谢谢!
****编辑2:*****我找到了一种方法来保护数据透视表的某些方面(我在同一张表上有两个: 我现在需要一种方法来禁用“CLEAR ALL或CLEAR FILTERS”。
Sub LockPivotTable()
'pivot table lock
Dim pt As PivotTable
Dim pf As PivotField
On Error Resume Next
For Each pt In ActiveSheet.PivotTables
With pt
.EnableDrilldown = True
.EnableFieldList = False
.EnableFieldDialog = False
.PivotCache.EnableRefresh = True
For Each pf In pt.PivotFields
With pf
.DragToPage = True
.DragToRow = True
.DragToColumn = True
.DragToData = True
.DragToHide = True
End With
Next pf
End With
Next pt
End Sub
答案 0 :(得分:0)
您计划使用的方法根本不安全。即使您设法保护工作表和工作簿,也允许用户仅扩展/折叠字段。只要PivotCache
包含整个数据,使用VBA,就可以创建New PivotTable
来访问PivotCache
。我的建议是使用VBA对Source Data
进行切片,并将工作簿发送给仅包含他们需要查看的数据的用户。