プロが教える店舗&オフィスのセキュリティ対策術

Excel VBA ピボットテーブル作成のコードを教えてください。
詳細内容
添付画像左側にあるように、ピボットテーブルのフィールドリストの品種名と数量に
チェック「レ」をして、ピボットテーブルが表示しますが、VBAを実行すとると
フィールドリストを使わず ピボットテーブルを表示させたい。
説明がうまくありませんが、お分かりになる方、ご教授のほどよろしくお願いします。
※画像右側が、チェック「レ」を入れ、ピボットテーブルが表示したものです。


   A列        B列
1  行ラベル    合計/数量
2   A        200     

<現在のコード>
Sub PivotTable()
Dim DataS As Worksheet 'データシート
Dim PivotS As Worksheet 'ピボットテーブルを作成するシート
Dim PCache As PivotCache 'ピボットキャッシュ用変数
Set DataS = ThisWorkbook.Worksheets("マッチングデーター")

'『データ』シートからピボットキャッシュを作成
Set PCache = ActiveWorkbook.PivotCaches.Create( _
SourceType:=xlDatabase, _
SourceData:=DataS.Range("M1:N" & DataS.Cells(Rows.Count, 13).End(xlUp).Row))

'『ピボットテーブル』シートを追加
Worksheets.Add
ActiveSheet.Name = "ピボットテーブル"
Set PivotS = ThisWorkbook.Worksheets("ピボットテーブル")

'『ピボットテーブル』シートにピボットテーブル作成
PCache.CreatePivotTable _
TableDestination:=PivotS.Range("A1"), _
TableName:="個数"


宜しくお願いします。

「Excel VBA ピボットテーブル作成」の質問画像

A 回答 (1件)

'必須ではないですがピボットテーブル用の変数を使うとインテリセンスが効いて判りやすいかも


Dim pt As PivotTable
':
'略
':
'『ピボットテーブル』シートにピボットテーブル作成 (と同時にptにセットする)
Set pt = PCache.CreatePivotTable(TableDestination:=PivotS.Range("A1"), TableName:="個数")
'あとはptに対して操作する
'PivotFieldのOrientationで設定しても良いし
pt.PivotFields("商品名").Orientation = xlRowField
pt.PivotFields("数量").Orientation = xlDataField

'PivotTableのAddFieldsメソッド使っても良い
'pt.AddFields RowFields:="商品名"
'pt.AddDataField pt.PivotFields("数量"), Function:=xlSum



PivotTable(基本) - レイアウトの組み方について
http://pvttbl.blog23.fc2.com/blog-entry-6.html
    • good
    • 0
この回答へのお礼

ご教授頂きありがとうございました。
役立てていきたいと思います

お礼日時:2020/01/25 12:51

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!