• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ピボットテーブル最終行から2行目に項目を入れて3行目から新しいピボットテーブルを貼り付けたい。)

エクセルのピボットテーブルを最終行から2行目に入れる方法

このQ&Aのポイント
  • エクセルのマクロを使用してピボットテーブルを作成し、最終行から2行目に項目を入れて新しいピボットテーブルを貼り付ける方法について教えてください。
  • 現在は2つ目のピボットテーブルを「A25」に貼り付けるように設定していますが、1つ目のピボットテーブルの大きさが毎回変化するため、見た目がきれいではありません。
  • 「貼り付け」シートのデータを元にピボットテーブルを作成し、「集計表」シートに最終行から2行目に新しいピボットテーブルを貼り付ける方法をお教えください。

質問者が選んだベストアンサー

  • ベストアンサー
  • end-u
  • ベストアンサー率79% (496/625)
回答No.1

ピボットテーブルの貼り付け先として、 変動するデータ範囲の取得方法を知りたいという事ですね。 ピボットテーブル1作成後、最終行を取りたいなら、 Endプロパティを使うのが最もオーソドックスかと思います。 (作成前に集計表シートをクリアしておく事が前提) こちらのページが解かり易いので参考にしてください。 http://www.niji.or.jp/home/toru/notes/8.html 実際のサンプルは以下。ピボット作成はテキトーです。 Sub test()   Dim r As Range   With ActiveWorkbook     Set r = Sheets("集計表").Range("A1")     r.Value = "ピボットテーブル1"     With .PivotCaches.Create(SourceType:=xlDatabase, _                  SourceData:="貼り付け!R2C15:R300C19") _                  .CreatePivotTable(TableDestination:=r.Offset(1), _                           TableName:=r.Value)       .AddFields RowFields:="Field1", _             ColumnFields:="Field2"       .AddDataField .PivotFields("Field3"), "Field3計", xlSum     End With     '2コ目のピボットテーブル     With Sheets("集計表")       'シート最大行から[Ctrl]+[↑]で上に跳んで、止まったセルの2コ下。       Set r = .Cells(.Rows.Count, 1).End(xlUp).Offset(2)     End With     r.Value = "ピボットテーブル2"     With .PivotCaches.Create(SourceType:=xlDatabase, _                  SourceData:="貼り付け!R2C15:R300C19") _                  .CreatePivotTable(TableDestination:=r.Offset(1), _                           TableName:=r.Value)       .AddFields RowFields:="Field1", _             ColumnFields:="Field2"       .AddDataField .PivotFields("Field3"), "Field3計", xlSum     End With      End With   Set r = Nothing End Sub

donald1982
質問者

お礼

まだまだVBAを理解できていないのですが、 何とかマクロを完成させることが出来ました!! どうもありがとうございました。

関連するQ&A