ExcelVBA データを要約して見やすく整理するピボットテーブルを自動作成する

 

ExcelVBA ピボットテーブルは、データを要約して見やすく整理するための機能です。ピボットテーブルを自動作成することで、作業の効率化が図れます。大量のデータを分析する際にとても便利です。

使い方や注意点など、サンプルコードをもとに具体的に解説します。

 

Excel VBA ピボットテーブルの利用

以下のようなシーンで利用されます。

1.毎月の売上データを部門ごとに自動集計する

2.顧客データを地域や年齢層別に分析する

3.在庫データをカテゴリ別に要約する

使い方

1.準備:ピボットテーブルを作成したいデータがExcelシートに整列されていることを確認します(列に見出しがあること)

2.VBAコードを使用してピボットテーブルを作成し、必要な項目を指定します。

 

ポイント

1.データに空白があると、正しく集計されないことがあります。

2.ソースデータが変更された場合、ピボットテーブルを更新する必要があります。

3.集計や分析の要件によって、ピボットテーブルのフィールド設定を適切に調整する必要があります。

 

Excel VBA ピボットテーブルのサンプルコード
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エキスパート」をご確認ください。