CreatePivotTableメソッド解説(Excel VBA)

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 メソッドの基本的な使い方とサンプルコードになります。大量のデータを扱う際に、このメソッドを使うとデータの集計が容易になるでしょう。ぜひ活用してみてください。