• 締切済み

Excelの再計算を止めるマクロを教えて

Excelで複雑な計算をさせるシートを作りました。 データ量が多いのと、計算式をビッチリ入れたため、ツール→オプション の「計算方法」を手動にしておいて、いくつかのデータをシートに貼り付けて「実行」ボタンを押すと再計算がスタートするように「マクロの記録」で設定しました。 しかし、このファイルを開いた状態で別のExcelを開くと、止めていた再計算がスタートしてしまいます。 この「実行」ボタンを押すまで再計算を強制的に止めておく方法はないでしょうか?

みんなの回答

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

こんにちは。 いくら、自動計算をオフにしておいても、どこで、「再計算(Calculate)」の命令が実行されるは、そのブックで、検査しなければ分かりませんね。#1で書いたことは間違いないと思います。 検査方法はお分かりになると思います。 ThisWorkbok モジュールに以下のようなものを置けばよいです。 どのタイミングで発生するか見ればよいです。ブックを換えたときではないはずです。 個別の問題で、よほど知らないか、または天才ではない限りは、私の知る範囲では、一般的なお答えは出来ないはずです。 Private Sub Workbook_SheetCalculate(ByVal Sh As Object)  MsgBox "再計算が指示されました" End Sub 私個人の場合は、マクロで計算を処理させます。 全面的にマクロ・プログラムに変えるというのは、大変だとは思いますが、計算式そのものが問題というか、たとえば、配列数式を使ったり、Frequent 関数など、広範囲の配列の範囲を前提としたものは、最初から無理があります。

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

こんばんは。 そういう現象は、こちらで、何度かいろいろな可能性を試してみましたが再現性が取れません。 何か、別に「再計算」が働くようなコマンド(Calculate メソッド)があるのか、または、自動保存があるのではありませんか?もう一度、オプション自体で確認してみたらいかがですか?自動保存がある場合は、オプション-手動-[保存前に再計算] を外してみるとか? 見方を変えると、再計算-手動の命令というのは、ExcelのApplication 側に与えられるものですから、全部に影響するはずです。それを何かの命令を与えないと、再計算にはならないと思うのです。 それに、再計算の実行ショートカットは、F9 または、作業中のシートら、Shift + F9 ですから、マクロ自体は必要ないかと思います。

kn_shin
質問者

お礼

Wendy02さん 回答ありがとうございます。 複雑な作業をツール化して社内の部署メンバーに配布したかったもので、再計算を止めておいて、所定のシートに必要データを貼り付けて再計算実行のマクロを動かすボタンを作りました。

関連するQ&A

専門家に質問してみよう