プロが教える店舗&オフィスのセキュリティ対策術

特定のシートのみ再計算させない方法はありませんか?

1つのBOOKに2つのシートがあり、
[sheet1]=自動計算
[sheet2]=手動計算
という設定を行いたいと考えています。

BOOKを分けずにスマートな方法はないでしょうか。

教えて!goo グレード

A 回答 (2件)

こんばんは。



本来は、ワークシートのプロパティの、EnableCalculation を False にしてあげれば、片方のシートは、手動になります。(プロパティの出し方は、ワークシートをアクティブな状態にして、[コントロールツールボックス]のプロパティを押せば、[シート・プロパティ]が出てきます)

しかし、手作業の設定ですと、ブックを閉じて、再び開けた時には、デフォルトの True に戻ってしまいます。


そこで、VBAによる手段しかありません。

[ツール]-[マクロ]-[Visual Basic Editor] (ショートカット= Alt + F11)
で、

左上に、プロジェクトというエクスプローラがありますから、
その中から、

[ThisWorkbook ]

というのを、ダブルクリックして、エディタ画面を開けたら、

以下のコードを貼り付けて、保存し、再び、このブックを開けると、設定されています。

'---------------------------------------
Private Sub Workbook_Open()
'シート2を手動計算にさせる
ThisWorkbook.Worksheets("Sheet2").EnableCalculation = False
End Sub

'---------------------------------------
    • good
    • 7
この回答へのお礼

教えていただいたコードを参考にさせていただきました。

最終的な段階でsheet2についても1回のみ再計算が必要となりました。
教えていただいたコードとあわせて以下のコードをsheet2に組み込むことで希望通りのエクセルを作成できました。
'----------------
Sub 再計算()

ThisWorkbook.Worksheets("summary").EnableCalculation = True

ThisWorkbook.Worksheets("summary").EnableCalculation = False

End Sub
'----------------

ありがとうございました。

お礼日時:2006/08/16 12:24

sheet1がアクティブなときだけ手動にする手もあるかも。


(やりたい事による。)
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/08/16 12:31

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

教えて!goo グレード

このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング