ファイルを開くときにピボット・チャートがリフレッシュされないという問題があります。 「データ」と呼ばれる保護されたワークシートと、「要約」と呼ばれる別のワークシートのピボット・テーブル/チャートにWebクエリー・セットアップがあります。ワークブック(複数の保護されたワークシート)を開くと、ピボット・チャートがリフレッシュされない
「PW」と呼ばれる別のシートがあります。パスワードが保存されている(非表示になっている)ので、誰もパスワードを盗むことができません。すべてのワークシートは同じパスワードで保護されています。
私は両方のワークシートのロックを解除するために自分のコードを調整する必要があると信じていますが...よく分かりません!
これは、私が問題を起こすことなくWebクエリをリフレッシュするコードです。誰かが私は両方のシートのロックを解除するためにそれを調整する手助けができれば、すべてを更新し、それをはるかに高く評価されると思い:)
私はエクセル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
EDIT:
両方のワークシートの保護を解除し、 '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ダグのお手伝いをありがとう。上記の私の編集を参照してください - もしあなたが何らかの方法で助けることができれば、それは感謝します。再度ありがとう:) – ERZUT
あなたはどんなエラーを出していますか? –