我有一个excel sheet透视表,我保护了工作表和单元格。
1)在保护整个工作表的同时,我试图让pivot表成为功能性的,并让多个用户展开/折叠字段。
2) 的重要性:每个用户都有自己独特的过滤视图,我不希望用户1能够解除对透视表的筛选,以查看用户2-10的数据。
现在,保护看起来要么具有完整的数据透视表功能,要么没有。我把数据透视表的过滤器藏了下来,保护了床单。
--我发现了一个漏洞--“分析->清除过滤器”--这将允许用户2-10查看用户1的数据,而我不想这样做。
有人知道如何将分析函数锁定在枢轴表上,但允许数据透视表展开/折叠功能吗?
编辑:源数据来自PowerPivot -> PowerPivot,然后从PowerPivot生成pivotTable。
谢谢!
*编辑2:*我找到了一种保护数据透视表某些方面的方法(我在同一张纸上有两个:我现在需要一种禁用“清除所有或清除过滤器”的方法。
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
发布于 2016-09-29 20:17:23
您计划使用的方法根本不安全。即使您设法保护工作表和工作簿,也只允许用户展开/折叠字段。只要PivotCache
包含整个数据,使用VBA,就可以创建一个New PivotTable
来访问该PivotCache
。我的建议是使用VBA对Source Data
进行切片,并将工作簿发送给只包含需要查看的数据的用户。
https://stackoverflow.com/questions/39756223
复制相似问题