2016-09-28 66 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他們需要看到。

相關問題