アプリ版:「スタンプのみでお礼する」機能のリリースについて

お世話になります。

sheet3だけを再計算させないようにするにはどのようにコードを書けばよいでしょうか?
sheet2をsheet3の数式で参照しています。
5万件程データがあるので、sheet2に変更があると再計算で時間がかかってしまいます。

オプションで設定してみたところ、すべてのシートが対象になってしまいます。sheet2は計算式があるので、計算させたいのです。

再計算させたいシートモジュールに下記のようにしています。

Private Sub Worksheet_Activate()
ActiveSheet.EnableCalculation = True
ActiveSheet.EnableCalculation = False
End Sub

どなたかご教授お願いします。

A 回答 (1件)

EnableCalculationを設定する時に、計算したくないシートをきちんと指定して設定しないとうまくいきません。



例えば、sheet3だけを再計算しないのなら(他はデフォルトで計算しているのでそのまま)
Sub test()
 Sheets("Sheet3")..EnableCalculation = False
End Sub
を実行しておけばOKです。
一度実行しておけばよいので、Worksheet_Activateで毎回設定する必要はありません。
もし、自動で設定するならWorkBook_Openイベントなどでも良いですが、そうするといつも計算が反映されなくなるので、計算を反映したい時には、Trueに設定し直す必要があることをお忘れなく。

ボタンにマクロを登録しておいて、再計算と非計算を切替えるのが良いのではないでしょうか?
    • good
    • 0
この回答へのお礼

fujillinさん、ご回答ありがとうございます。
いろいろな人が使用するので、WorkBook_Openイベントに
設定し、Worksheet_Activateで設定して問題なく動作
出来ました。

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

お礼日時:2008/07/04 23:39

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

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