2016-09-28 33 views
0

我有一个excel powerpivot表,我已保护表单和单元格。如何?:Excel保护数据透视表,但仍具有可扩展功能

1)我试图让数据透视表具有功能,并且多个用户在整张表单受到保护时展开/折叠字段。

2)重要提示:每个用户都将拥有自己独特的过滤视图,我不希望用户1能够不透过数据透视表来查看用户2-10数据。

现在保护看起来像是有全功能数据透视表功能或没有。我隐藏了数据透视表过滤器并保护了工作表。

我发现了一个漏洞,这一点,“分析 - >清除过滤器”这将允许用户2-10看到用户1点的数据,这是我不想要的。

有没有人有一个想法如何锁定数据透视表上的分析功能,但允许数据透视表展开/折叠功能?

编辑:源数据来自Power Query - > Power Pivot,然后从PowerPivot生成pivotTable。

谢谢!编辑2:*****我发现了一种方法来保护数据透视表的某些方面(我在同一张表中有两个: 我需要一种方法来禁用“CLEAR ALL”或“清除筛选器”了。

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

有趣的问题。用户如何访问该文件?它是否存储在他们都可以访问它的中央的某个地方?或者你是单独发邮件给他们?有关如何确定哪个用户当前正在查看报告的任何想法? – jeffreyweir

+0

我会根据各个过滤器将单个文件发送给每个用户。我目前正在研究基于过滤器的自动化和导出。 我可以手动为特定的几个人做,但自动化是我在更大规模上的最终目标。 – Dataletx

+0

文件中是否有多个数据透视表?或者只是一个?你希望他们只看到数据透视表,还是应该得到整个文件,只有一个数据透视表“锁定”?您是否计划将应用的用户列表,电子邮件地址和过滤器设置放在一起?你还能告诉我们什么? – jeffreyweir

回答

0

您计划使用完全没有保障,即使你设法保护工作表和工作簿,而只允许用户展开/折叠领域的方法。只要PivotCache包含了整个数据,使用VBA,可以创建一个New PivotTable来访问那个PivotCache。我的建议是使用VBA分割Source Data并将工作簿发送给仅包含d他们需要看到。

相关问题