- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ExcelのVBA動作中の再計算禁止について)
ExcelのVBA動作中の再計算禁止について
このQ&Aのポイント
- ExcelのVBAを使用してワークシート上のチェックボックスを一括管理しています。処理速度を向上させるために再計算の禁止を行っているのですが、EnableCalculationとCalculationの違いがよく分かりません。どなたか詳しい説明をしていただけますか?
- ExcelのVBAを使用してワークシート上のチェックボックスを一括管理しています。処理速度を向上させるために再計算を制御しているのですが、EnableCalculationとCalculationの違いが分かりません。詳しい説明をお願いします。
- ExcelのVBAを使用してワークシート上のチェックボックスを一括管理しています。再計算の禁止を行うためにEnableCalculationとCalculationを使用していますが、これらの処理の違いを理解することができません。詳しい説明を教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
適当に回答します。 Application.Calculation こちらはアプリケーション(Excel)そのものに適用されています。 EnableCalculation こちらはワークシートに対して適用されています。(確かブックじゃなく指定したワークシートのみ) なので、Sheet1の再計算を止めていてもSheet1の値を参照している別のシートがあれば その分再計算されるので遅くなります。 同ウィンドウ内で別のブックを同時に開いていたりする場合も同様です。 アプリケーションに対して再計算を止めれば値の変更があっても他に一切影響しない為速いんです。 例えばマクロで 1.自動再計算をOFFにする 2.値を変更する(本来ならここで再計算される) 3.自動再計算をONにする という処理を行うと、3が完了した時点では再計算されません。 VBAでいうイベントが発生して初めて再計算が実行されます、なので見た目にも速く感じるのです。
お礼
なるほど納得できました。 適当に回答、と仰っていましたが自分には必要十分なものでした。 ありがとうございました。