• ベストアンサー

シートを保護したままピボットの再計算をするには・・

VBAで処理ができたら・・と思っているのですが・・・ 可能でしたら教えてください。 エクセルで、シートを保護したまま、そのシートにある ピボットテーブルを再計算させて更新するには、 どうしたら良いのでしょうか? パスワードセットをしてシート保護を解除とかフレームボタンに 再計算機能をセットするとかはできたのですが、連続させた 機能とするにはどうしたら良いのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • Struggler
  • ベストアンサー率18% (97/527)
回答No.2

変えられないからこその保護です。 瞬間的には外れてしまうことを黙認した上で、解除、更新、保護を行うしかありません。 なお、本当に何があっても変えてほしくない場合は、エラー処理にも保護されていなければ保護するロジックを組み込むことです。

fumy231
質問者

お礼

非常に遅れて申し訳ございません。 ありがとうございました。 確かにその通りです。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

元データのシートでなく、ピボットテーブルを出しているシートですか。 >連続させた機能・・の操作を、保護解除や最後の保護設定も含めて、マクロの記録で採れないですか。

fumy231
質問者

お礼

そうです。 ピボットだけを表示させたシートになります。 入力するセル以外は保護をかけているブックなのですが ピボットは保護させると再計算ができなくなるので困って いました。業務効率が目的ですが、エクセルを触りなれて いない人達に配布を考えているので、そういう仕様になって しまいました。 ありがとうございます!試してみます!

fumy231
質問者

補足

VBAは初心者なもので、基本的なものなのです。 ----- Sub Macro1() ActiveSheet.PivotTables(1).PivotCache.Refresh End Sub ----- Sub Macro1() Dim sheet1 As Worksheet Set sheet1 = Worksheets("Sheet1") sheet1.Protect Password:="pass", _ AllowUsingPivotTables:=True End Sub -----