2012-02-16 4 views
0

(SHIFT + F9でトリガされた)私のシートのWorksheet_Calculateイベントで、計算プロセスをオーバーライドする必要があります。より正確には、デフォルトのシート計算を無効にして、それをいくつかのカスタム計算で置き換えたいとします。いくつかのものを計算し、その間にいくつかのものをロードし、次に他のセルなどを計算する必要があります。Excelがすべてを計算しようとしないようにするには1.それは時間がかかります2.私のプロセスでは役に立たないですExcel VBA:関連付けられたイベントを使用してシート計算をオーバーライドする方法

これは可能ですか?

+0

この質問は11月30日の質問とどのように違いますか?シフト+ f9)」と「計算ブック」イベント」(http://stackoverflow.com/q/8327329/973283)? –

+0

以前の質問はイベントについて知ることでしたが、これはExcelの計算を無効にすることです。デフォルトでは、Excelはまだすべてを完全に計算しますが、この場合は致命的です。 – Jerome

答えて

1

1つのアプローチは、Worksheet_Calculateイベントで(Application.Calculation = xlManual)カスタム計算などを手動計算モードに切り替えてから、自動計算(Application.Calculation = xlAutomatic)に戻ります。 Worksheet_Calculateへの繰り返しの呼び出しを避けるために、最初にApplication.EnableEventsをfalseに設定し、最後にtrueに戻す必要があります。

+0

それは素晴らしい作品です!その有用なものを見つける将来のユーザーのために言及してもよければ、計算を再び有効にするためのエラーラベルを追加してください。それ以外の場合、例外の場合、あなたのイベントはもうトリガーされません。 – Jerome

関連する問題