• ベストアンサー

特定のシートのみ再計算させない方法は?

特定のシートのみ再計算させない方法はありませんか? 1つのBOOKに2つのシートがあり、 [sheet1]=自動計算 [sheet2]=手動計算 という設定を行いたいと考えています。 BOOKを分けずにスマートな方法はないでしょうか。

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

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

こんばんは。 本来は、ワークシートのプロパティの、EnableCalculation を False にしてあげれば、片方のシートは、手動になります。(プロパティの出し方は、ワークシートをアクティブな状態にして、[コントロールツールボックス]のプロパティを押せば、[シート・プロパティ]が出てきます) しかし、手作業の設定ですと、ブックを閉じて、再び開けた時には、デフォルトの True に戻ってしまいます。 そこで、VBAによる手段しかありません。 [ツール]-[マクロ]-[Visual Basic Editor] (ショートカット= Alt + F11) で、 左上に、プロジェクトというエクスプローラがありますから、 その中から、 [ThisWorkbook ] というのを、ダブルクリックして、エディタ画面を開けたら、 以下のコードを貼り付けて、保存し、再び、このブックを開けると、設定されています。 '--------------------------------------- Private Sub Workbook_Open() 'シート2を手動計算にさせる ThisWorkbook.Worksheets("Sheet2").EnableCalculation = False End Sub '---------------------------------------

Naruzo
質問者

お礼

教えていただいたコードを参考にさせていただきました。 最終的な段階でsheet2についても1回のみ再計算が必要となりました。 教えていただいたコードとあわせて以下のコードをsheet2に組み込むことで希望通りのエクセルを作成できました。 '---------------- Sub 再計算() ThisWorkbook.Worksheets("summary").EnableCalculation = True ThisWorkbook.Worksheets("summary").EnableCalculation = False End Sub '---------------- ありがとうございました。

その他の回答 (1)

  • NCU
  • ベストアンサー率10% (32/318)
回答No.2

sheet1がアクティブなときだけ手動にする手もあるかも。 (やりたい事による。)

Naruzo
質問者

お礼

目的が書かれていない質問にご回答ありがとうございます。 今回はWendy02さんの方法で実現することが出来ました。

関連するQ&A