Lindaは、アクティブなワークブックのみを計算する方法があるかどうか尋ねました。

Excelで再計算を実行すると、開いているすべてのブックが再計算されます。非常に大きなブックの場合、再計算に15分以上かかることがあります。彼女が再計算されるものを制限することができれば、プロセスは明らかに速く実行されます。

残念ながら、特定のワークブックを計算する直接的な方法はありません。ただし、必要に応じて、アクティブなワークシートのみを計算できます。まず、次の手順に従って、再計算モードを手動に設定します。

。 [ツール]メニューから[オプション]を選択します。 Excelに[オプション]ダイアログボックスが表示されます。

。 [計算]タブが表示されていることを確認します。 (図1を参照)

。 [手動]チェックボックスを選択します。

。 [OK]をクリックします。

これで、ワークブック(実際には開いているすべてのワークブック)が再計算されるのは、F9キーを押したときだけです。現在のワークシートのみを再計算する場合は、Shift + F9を押します。

Excelには、開いているすべてのブックの計算、ブック内の特定のワークシートの計算、またはワークシート上の指定されたセル範囲の計算の3つのことを実行できるマクロ関数も用意されています。この知識があれば、ブック内のすべてのワークシートをループして各ワークシートを再計算するマクロを作成できます。

次のマクロは、計算モードを手動に設定し(他のブックは計算されないようにします)、アクティブなブックの各シートをループして計算します。

Sub CalcBook()

Dim wks As Worksheet     Application.Calculation = xlManual     For Each wks In ActiveWorkbook.Worksheets         wks.Calculate     Next     Set wks = Nothing End Sub

ブックのさまざまな部分をさまざまな時間に計算したい場合は、マクロを展開して、必要なタイプの計算を実行できるようにすることができます。

Sub CalcWhat()

Dim iAnsure As Integer

Application.Calculation = xlManual     iAnsure = InputBox("1 = Calculate A Used Range" _       & vbCrLf & _       "2 = Calculate This Worksheet" _       & vbCrLf & _       "3 = Calculate This Workbook" _       & vbCrLf & _       "4 = Calculate All Workbooks in Memory" _       & vbCrLf & vbCrLf & _       "Input Your Selection Number From Above" _       & vbCrLf & "Then Click OK", _       "Calculate What?", "Input Number Please", _       5000, 5000)



Select Case iAnsure         Case 1 'Range Only             Selection.Calculate         Case 2 'Worksheet Only             ActiveSheet.Calculate         Case 3 'Workbook Only             For Each wks In ActiveWorkbook.Worksheets                 wks.Calculate             Next         Case 4 'All Open Workbooks             Application.CalculateFull         End     End Select End Sub

このマクロは、どのタイプの再計算が必要かについてユーザーにプロンプ​​トを表示する入力ボックスを表示します。ユーザーが1から4までの数値を入力すると、目的のタイプの再計算が実行されます。

注:

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

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

このヒント(2877)は、Microsoft Excel 97、2000、2002、および2003に適用されます。Excel(Excel 2007以降)のリボンインターフェイス用のこのヒントのバージョンは、次の場所にあります。