【Excelマクロ】VBAでのピボットアイテム数とデータの取得方法

スポンサーリンク

アイキャッチ画像

この記事では、VBAでのピボットアイテムの取得方法について紹介しています。

 

これからVBAを使い始めるという方は以下の記事をご覧ください。

 

ピボットアイテムについて

まず初めにピボットアイテムについてです。

ピボットアイテムとは・・・ピボットテーブルのフィールドに属するデータ

 

例えば以下のようなピボットテーブルがあるとします。このピボットテーブルの列には名前という項目が設定されています。

ピボットアイテム解説用


上記画像の赤枠の「名前」フィールドのデータ、青の「性別」フィールドのデータ、紫の「国語」フィールドのデータがピボットアイテムです。

 

VBAによるピボットアイテムの取得方法

一例として、「性別」フィールドのピボットアイテムを取得します。

    ' 「ピボット1」の「性別」フィールドを指定
    With ActiveSheet.PivotTables("ピボット1").PivotFields("性別")
        
        ' ピボットアイテムの数を確認
        MsgBox .PivotItems.Count
        
        Dim num As Long
        For num = 1 To .PivotItems.Count
            ' ピボットアイテムを確認
            MsgBox .PivotItems(num)
        Next
    End With

このコードの手順は以下の通りです。

①ピボットテーブルのフィールドを指定

②ピボットアイテムの数を確認

③ピボットアイテムのデータを確認

 

①ピボットテーブルのフィールドを指定

前提は、ピボットテーブルのシートをアクティブにしていること、ピボットテーブ名が「ピボット1」あることです。

 

ピボットテーブル名の確認方法は以下の記事をご覧ください。

 

②ピボットアイテムの数を確認

次にメッセージボックスを利用して、ピボットアイテムのデータ数を確認しています。

 

数は「.Count」で確認することが可能です。結果は以下の通り、「女」と「男」の2となります。

ピボットアイテム数

 

③ピボットアイテムのデータを確認

最後にピボットアイテムのデータを確認します。ここではFor文を利用しています。For文については以下の記事をご覧ください。

(作成中)

 

注意点としては、配列のインデックス番号は0から数えますが、ピボットアイテムは1から数えます。

 

そのため、1~ピボットアイテム数を繰り返します。結果は以下の通り「女」と「男」を表示しています。

ピボットアイテム表示

ピボットアイテム表示

以上、ピボットアイテム数とデータの取得方法でした!

 

以下、VBAを学ぶのにおすすめの書籍となっています。ぜひ参考にしてください。