アクティブなワークブックのみを計算する(Microsoft Excel)
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以降)のリボンインターフェイス用のこのヒントのバージョンは、次の場所にあります。
linkアクティブなワークブックのみを計算する。