如何?:Excel保护数据透视表,但仍具有可扩展功能

92dk7w1h  于 2023-04-22  发布在  其他
关注(0)|答案(1)|浏览(215)

我有一个excel powerpivot表,我已经保护了工作表和单元格。
1)我试图让数据透视表的功能和多个用户展开/折叠字段,而整个工作表是受保护的。
2)**重要提示:**每个用户都有自己独特的过滤视图,我不希望用户1能够取消过滤透视表以查看用户2-10的数据。
现在的保护看起来要么有完整的数据透视表功能,要么没有。我隐藏了数据透视表过滤器下拉菜单,保护了工作表。

**我发现了一个漏洞,“分析-〉清除过滤器”**这将允许用户2-10看到用户1的数据,这是我不想要的。
有人知道如何锁定透视表上的分析功能,但允许透视表扩展/折叠功能吗?
**编辑:**源数据来自Power Query -〉Power Pivot,然后从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
cetgtptt

cetgtptt1#

您计划使用的方法根本不安全。即使您设法保护了工作表和工作簿,允许用户仅展开/折叠字段。只要PivotCache包含整个数据,使用VBA,可以创建New PivotTable来访问该PivotCache。我的建议是使用VBA对Source Data进行切片,并向用户发送只包含他们需要查看的数据的工作簿。

相关问题