関数・メソッド

ピボットテーブルを作成する【PivotTableWizardメソッド】【ExcelVBA】

VBAでピボットテーブルを作成する

Excelでは大定番のピボットテーブル。使用する人は多いと思います。
ピボットテーブルは集計や分析が大変楽で、フィルタや並べ替えも簡単にできます。
大量のデータでも数クリックで完成してしまう、非常に強力な機能です。

VBAでは PivotTableWizardメソッド を使うことでピボットテーブルを作成することができます。
※フィールドの設定についてはコチラ

構文
Object.PivotTableWizard(SourceType,SourceData,TableDestination,TableName,RowGrand,ColumnGrand,SaveData,HasAutoFormat,AutoPage,Reserved,BackgroundQuery,OptimizeCache,PageFieldOrder,PageFieldWrapCount,ReadData,Connection)

ObjectWorksheetオブジェクトを表す変数です。
SourceTypeレポートデータソースの種類を表す XlPivotTableSourceType の値です。
この引数を指定する場合、引数 SourceData も指定する必要があります。
SourceDataレポートの作成に使うデータを指定します。
TableDestinationレポートの配置場所を表す Rangeオブジェクト を指定します。
省略すると、アクティブセルに配置されます。
TableName新しいレポートの名前を指定します。
RowGrandTrue を指定すると、行の総計を表示します。
ColumnGrandTrue を指定すると、列の総計を表示します。
SaveDataTrue を指定すると、レポートと共にデータを保存します。
※ False はレポートの定義のみを保存
HasAutoFormatTrue を指定すると、レポートが更新されたとき、またはフィールドが移動されたときに自動的で書式設定されます。
AutoPageTrue を指定すると、Excel で統合のページフィールドが作成されます。
※ SourceType が xlConsolidation の場合にのみ有効
ReservedExcel では使用しません。
BackgroundQueryTrue の場合、レポートのクエリをバックグラウンドで実行します。
既定値は False。
OptimizeCacheTrue の場合、ピボットテーブルのキャッシュの最適化を行います。
既定値は False です。
PageFieldOrderピボットテーブルレポートのレイアウトに追加するページフィールドの順序です。
使用する XlOrder定数 は xlDownThenOver(規定値)、xlOverThenDown のいずれかです。
PageFieldWrapCountピボットテーブルの各列または各行のページフィールドの数を指定します。
既定値は 0 (ゼロ) です。
ReadDataTrue を指定 すると、外部データベースのすべてのレコードを含むピボットテーブル キャッシュが作成されます。
※このキャッシュは非常に大きくなる可能性あり
ConnectionODBCデータソースと接続できるようにするODBC設定のいずれかを含む文字を指定します。
XlPivotTableSourceType説明
xlDatabase1Excel のデータベース
xlExternal2外部のアプリケーションのデータ
xlConsolidation3複数のワークシート範囲
xlScenario4[シナリオの登録と管理] を使用して作成されたシナリオに基づきます。
xlPivotTable-4148既存のピボットテーブル

 

サンプルコード

Public Sub Sample()

'■ピボットテーブルを作成する
  'データのソースがExcelのデータベースであることを指定
  'データベースの場所(A1セルの表)
  'ピボットテーブルの作成位置(E1セル)
  'テーブル名を設定
  Worksheets("Sheet1").PivotTableWizard SourceType:=xlDatabase, _
                             SourceData:=Range("A1").CurrentRegion, _
                             TableDestination:=Range("E1"), _
                             TableName:="新しいテーブル名"

End Sub

 

関連記事

 

コメント

タイトルとURLをコピーしました