Excelワークブックは非常に複雑になる可能性があります。実際、計算に数時間かかる可能性のあるワークブックを作成することは可能です。もちろん、これに関する唯一の問題は、ブックを開いたときに、Excelがそれを行うように構成されている場合、ブックが自動的に再計算されることです。つまり、ワークブックを開くだけでも、場合によっては数時間かかることがあります。

もちろん、1つの解決策は、ブックを開く前に自動再計算をオフにすることです。あなたが私のようなら、どちらも私の記憶ではないので、この解決策はそれほど素晴らしいものではありません。

より良い解決策は、特定のブックの自動再計算をオフにすることです。 Excelでは、ブックご​​とに手動または自動の再計算を指定することはできないため、ブックを開いたときに自動的に実行されるマクロを使用して、この機能を追加する必要があります。このマクロは、次に示すように、自動再計算をオフにすることができます:

Private Sub Workbook_Open()

Application.Calculation = xlManual     Application.CalculateBeforeSave = False End Sub

このマクロは、ThisWorkbookプロジェクトウィンドウに配置する必要があります。つまり、ブックを開き、Alt + F11を押してVBAエディターを表示してから、オブジェクトブラウザー(VBAエディターウィンドウの左上隅)でThisWorkbookオブジェクトをダブルクリックする必要があります。

必要に応じて、前のマクロの直後に別のマクロを配置することもできます。このマクロは、ブックが閉じられると自動的に実行され、この場合、自動再計算がオンに戻ります。

Private Sub Workbook_BeforeClose(Cancel As Boolean)

Application.Calculation = xlAutomatic     Application.CalculateBeforeSave = True End Sub

このマクロの使用に関して覚えておくべき重要な注意事項があります。アプリケーション全体の計算モードのみを設定できます。したがって、自動再計算をオフにすると、他のワークシートも自動的に再計算されません。

注:

このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(11577)は、Microsoft Excel 2007、2010、2013、2016、2019、およびOffice 365のExcelに適用されます。Excelの古いメニューインターフェイス用のこのヒントのバージョンは、次の場所にあります。