ExcelVBA ピボットテーブルは、データを要約して見やすく整理するための機能です。ピボットテーブルを自動作成することで、作業の効率化が図れます。大量のデータを分析する際にとても便利です。
使い方や注意点など、サンプルコードをもとに具体的に解説します。
以下のようなシーンで利用されます。
1.毎月の売上データを部門ごとに自動集計する
2.顧客データを地域や年齢層別に分析する
3.在庫データをカテゴリ別に要約する
1.準備:ピボットテーブルを作成したいデータがExcelシートに整列されていることを確認します(列に見出しがあること)
2.VBAコードを使用してピボットテーブルを作成し、必要な項目を指定します。
1.データに空白があると、正しく集計されないことがあります。
2.ソースデータが変更された場合、ピボットテーブルを更新する必要があります。
3.集計や分析の要件によって、ピボットテーブルのフィールド設定を適切に調整する必要があります。
Option Explicit
Sub CreatePivotTable()
Dim ws As Worksheet
Dim dataRange As Range
Dim pivotWs As Worksheet
Dim pivotCache As pivotCache
Dim pivotTable As pivotTable
' ソースデータがあるシートと範囲を指定
Set ws = ThisWorkbook.Sheets("データシート")
Set dataRange = ws.Range("A1").CurrentRegion
' ピボットテーブルを作成するシートを指定
Set pivotWs = ThisWorkbook.Sheets.Add
pivotWs.Name = "ピボット集計"
' ピボットキャッシュの作成
Set pivotCache = ThisWorkbook.PivotCaches.Create( _
SourceType:=xlDatabase, _
SourceData:=dataRange)
' ピボットテーブルを作成
Set pivotTable = pivotCache.CreatePivotTable( _
TableDestination:=pivotWs.Range("A1"), _
TableName:="SamplePivotTable")
' ピボットテーブルにフィールドを追加
With pivotTable
.PivotFields("年月").Orientation = xlRowField
.PivotFields("商品").Orientation = xlColumnField
.PivotFields("売上金額").Orientation = xlDataField
End With
MsgBox "ピボットテーブルを作成しました!"
End Sub
1.データシートと範囲を指定
Set dataRange = ws.Range("A1").CurrentRegion でソースデータの範囲を指定します。
2.ピボットキャッシュの作成
PivotCaches.Create を使用して、ピボットテーブル用のキャッシュを作成します。
3.ピボットテーブルの作成
CreatePivotTable メソッドで新しいピボットテーブルを作成します。
4.フィールドを追加
PivotFields プロパティで、行、列、値のフィールドを設定します。
このコードを実行すると、指定したデータ範囲を基に自動でピボットテーブルが作成されます。フィールド設定は分析したい項目に応じて変更してください。
ピボットテーブルを使用すると、複雑なデータを簡単に要約できます。
操作方法:1.●●●をクリック(スマホはタップ)で答え表示。2.答えをクリック(スマホはタップ)で●●●表示。1⇔2を繰り返すことで、記憶を定着できます。
①データシートと範囲を指定 Set dataRange = ws.Range("A1").●●● でソースデータの範囲を指定します。
②ピボットキャッシュの作成 ●●● を使用して、ピボットテーブル用の ●●●を作成します。
③ピボットテーブルの作成 ●●● メソッドで新しいピボットテーブルを●●●します。
④フィールドを追加 ●●● プロパティで、●●●のフィールドを設定します。
Excel VBAで自動化するコードのベースを習得したい方におすすめ!
VBAエキスパート資格は、日常業務でExcelを多用し、手動作業を減らしたいと考えている方には価値あるものです。
ExcelVBAエキスパートベーシック
仕事の効率をあげるためにExcelVBAを利用する人が対象の問題集です。
ExcelVBAエキスパートスタンダード
ExcelVBAの開発を仕事にする人が対象の問題集です。
Excel VBA エキスパート資格について知りたい方は、下記「Excel VBAスキルアップを目指すなら知っておきたいVBAエキスパート」をご確認ください。