0
在打開我的文件時數據透視表不刷新時出現問題。我在名爲'DATA'的受保護工作表上有一個Web查詢設置,在另一個名爲'Summary'的工作表上有一個數據透視表/圖表。開啓工作簿時不會刷新數據透視表(多重保護工作表)
我還有另一張名爲'PW'的表,我有密碼來解鎖存儲的工作表(隱藏),因此如果他們查看代碼,沒有人可以拿起我的密碼。所有工作表都使用相同的密碼進行保護。
我相信我需要調整我的代碼來解鎖這兩個工作表,但是......我無法弄清楚它!
這是我沒有任何問題刷新網絡查詢的代碼。如果有人可以幫助我調整它解開兩個片,刷新所有然後保護工作表都這將會是非常讚賞:)
我用Excel 2016
Private Sub Workbook_Open()
Application.ScreenUpdating = False
Sheets("DATA").Unprotect Password:=Sheets("PW").Range("K2").Value
Workbooks(ThisWorkbook.Name).RefreshAll
Sheets("DATA").Protect _
Password:=Sheets("PW").Range("K2").Value, _
UserInterfaceOnly:=True, _
AllowFiltering:=True, _
AllowSorting:=True, _
AllowUsingPivotTables:=True
End Sub
編輯:
我試了下面的代碼來解除這兩個工作表的保護,刷新'DATA'工作表上的Web查詢,然後刷新'Summary'工作表上的數據透視表,然後再次保護兩張表。它返回一個錯誤,雖然...任何想法?對不起這個新...
Private Sub Workbook_Open()
Dim ws As Worksheet
Set sheetsArray = ActiveWorkbook.Sheets(Array("DATA", "Summary"))
Application.ScreenUpdating = False
For Each ws In sheetsArray
ws.Unprotect Password:=Sheets("PW").Range("K2").Value
Next
ActiveWorkbook.Connections("Connection").Refresh
Sheets("Summary").PivotTables("PivotTable2").PivotCache.Refresh
For Each ws In sheetsArray
ws.Protect Password:=Sheets("PW").Range("K2").Value, _
Next
UserInterfaceOnly:=True, _
AllowFiltering:=True, _
AllowSorting:=True, _
AllowUsingPivotTables:=True
End Sub
可能是數據透視表/圖表在表/查詢之前刷新。一般來說,我建議按照正確的順序顯式刷新它們,對錶格設置「BackgroundQuery」爲false。 –
@DougGlancy感謝您的幫助Doug。請參閱我上面的編輯 - 如果你能以任何方式提供幫助,我將不勝感激。再次感謝:) – ERZUT
你得到什麼錯誤,並在哪裏? –