Microsoft Excel VBA - ExcelのApplication オブジェクトの操作方法

◆概要


 ExcelのApplication オブジェクトのプロパティの多くは、アプリケーション ウィンドウの外観や、アプリケーション全体に関わる動作を制御するために使います。たとえば、数式バーを表示するにはDisplayFormulaBarプロパティにTrueを設定し、画面表示が更新されないようにするにはScreenUpdatingプロパティにFalseを設定します。


 また、Applicationオブジェクトには、オブジェクトの階層構造の中でApplicationオブジェクトよりも下の階層にあるオブジェクトにアクセスするためのプロパティもあります。たとえば、現在開かれているすべてのウィンドウを表すWindowsコレクションや、現在開かれているすべてのブックを表すWorkbooksコレクションにアクセスするためのプロパティがあります。これらのプロパティは、オブジェクト階層の最上位に位置するApplicationオブジェクトとから、下位置にあるWorkbook、Worksheet、Rangeなどのオブジェクトにアクセスするために使われます。オブジェクト モデルの階層をたどる方法については、ヘルプの「オブジェクトとオブジェクトモデル」を参照してください。


Applicationオブジェクトに適用されるメソッドやプロパティの中には、Applicationオブジェクトの下位置にあるオブジェクトにも適用されるものがあります。それらのプロパティやメソッドをApplicationオブジェクトを対象に使用すると、多くの場合、現在開かれているすべてのブックやすべてのワークシートに影響が及びます。たとえば、Calculateメソッドは、Applicationだけでなく、WorkbookオブジェクトやWorksheetオブジェクトにも適用されます。このメソッドをApplication.Caluculateの用に使うと、現在開かれているすべてのブックのすべてのワークシートが再計算されます。特定のブックやワークシートだけで再計算を行うには、CaluculateメソッドをWorkbookオブジェクトまたはWorksheetオブジェクトに対して使用します。

たとえば、次の例では、activeなブックのみ再計算を行います。

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


次の例では、1番目のシートのみ再計算を行います。

Sheets(1).Calculate

次の例では、選択されているセルのみ再計算を行います。

Selection.Calculate

次の例では、使用したセルのみを対象に再計算を行います。

ActiveSheet.UsedRange.Select
Selection.Calculate
▼ページトップへ