Excel VBA: CreatePivotTable メソッドの解説
Excel VBAには、データを集計し分析を容易にするための強力なツールであるピボットテーブルを作成する機能があります。それは、CreatePivotTable メソッドです。
CreatePivotTable メソッドを使用すると、指定したデータ範囲からピボットキャッシュを作成し、そのピボットキャッシュからピボットテーブルを作成できます。この方法は、特に大量のデータを扱う際に、データを高速に集計し、データの概要を把握するのに役立ちます。
基本的な使用法
CreatePivotTable メソッドの基本的な使用法は次のとおりです。
PivotCacheObject.CreatePivotTable(TableDestination, TableName)
ここで、PivotCacheObject は PivotCache オブジェクトを、TableDestination は新しいピボットテーブルを配置する場所を、TableName は新しいピボットテーブルの名前を指定します。
サンプルコード
以下に、CreatePivotTable メソッドを使用してピボットテーブルを作成するサンプルコードを示します。
Sub CreatePivot()
Dim ws As Worksheet
Dim pc As PivotCache
Dim pt As PivotTable
Dim rng As Range
' Define the data range for Pivot Table
Set rng = ThisWorkbook.Sheets("Sheet1").Range("A1:C20")
' Create Pivot Cache from Source Data
Set pc = ThisWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:=rng)
' Create Pivot Table from Pivot Cache
Set pt = pc.CreatePivotTable(TableDestination:=Sheets("Sheet2").Range("A1"), TableName:="NewPivotTable")
End Sub
このサンプルコードの解説
上記のサンプルコードでは、まず “Sheet1” の “A1:C20” 範囲をデータ範囲として定義しています。この範囲は実際のデータに合わせて変更することができます。
次に、指定したデータ範囲から PivotCache を作成します。PivotCache とは、ピボットテーブルやピボットチャートで使用するデータの一時的なメモリ内ストレージです。
最後に、作成した PivotCache を使用して、ピボットテーブルを作成します。ピボットテーブルは “Sheet2” の “A1” セルに配置され、その名前は “NewPivotTable” となります。これらも実際の要件に合わせて変更することができます。
注意点
CreatePivotTable メソッドを使用する際のいくつかの注意点を下記に示します。
- TableDestination に指定するセルは、ピボットテーブルを配置する左上のセルです。そのセルから右方向、下方向に必要なスペースがなければなりません。
- 既に同名のピボットテーブルが存在する場合、エラーが発生します。これを回避するには、新しいピボットテーブルの名前を一意にするか、既存のピボットテーブルを削除または名前を変更する必要があります。
- データソースとして指定する範囲には、列の見出しが含まれている必要があります。これらの見出しはピボットテーブルのフィールド名として使用されます。
まとめ
以上が、Excel VBAのCreatePivotTable メソッドの基本的な使い方とサンプルコードになります。大量のデータを扱う際に、このメソッドを使うとデータの集計が容易になるでしょう。ぜひ活用してみてください。