在打开我的文件时出现枢轴图没有刷新的问题。我在名为“DATA”的受保护工作表上设置了Web查询,在另一个名为“Summary”的工作表上设置了数据透视表/图表。
我还有一张名为'PW'的表格,我有密码来解锁存储的工作表(隐藏),所以如果他们查看代码,没有人可以拿起我的密码。所有工作表都使用相同的密码进行保护。
我相信我需要调整我的代码以解锁两个工作表但是......我无法理解它!
这是我的代码,它可以刷新Web查询而不会出现任何问题。如果有人可以帮我调整它以解锁两张纸,刷新所有然后保护两张工作表,我们将不胜感激:)
我正在使用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查询,然后刷新“摘要”工作表上的数据透视表,然后再次保护两个工作表。它虽然回复了一个错误......有什么想法吗?对不起,对此我不熟悉......
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
答案 0 :(得分:0)
我不知道数据透视表,但您可能需要 Application.ScreenUpdating = True
在你的潜艇末尾看到变化。