• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルのピボットテーブルのVBAで、データ範囲の選択時に前の範囲を使用したい時)

エクセルのピボットテーブルのVBAで、データ範囲の選択時に前の範囲を使用したい時

このQ&Aのポイント
  • エクセルのピボットテーブルのVBAで、データ範囲を選択する際に前の範囲を使用したい場合、作成したテーブルを利用する方法を教えてください。
  • エクセルのピボットテーブルのVBAで、同一ブック内で同一データ範囲を基に2つのピボットテーブルを作成する際、2つ目のピボットテーブルの範囲選択に初めに作成したテーブルを利用する方法を教えてください。
  • エクセルのピボットテーブルのVBAで、初めに作成したピボットテーブルを名前で指定した場合、ブック名を読み込む方法を教えてください。

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

  • ベストアンサー
  • OtenkiAme
  • ベストアンサー率77% (69/89)
回答No.2

こんにちは。 > .PivotTableWizard SourceType:=xlPivotTable, _ > SourceData:=ソースデータ元, _ > TableDestination:=テーブル定義, _ > TableName:="ピボットテーブル2" > の所が着色され、マクロが停止してしまいました。 > 何が原因でしょうか. 中断したときに、 ソースデータ元、テーブル定義 にマウスのカーソルを当てて 参照が正しい文字列になっているか、 元の記録したコードの文字列と見比べて確認してみましょう。 正しいのなら、そのブックを開いていないのが原因と思われます。 また、"ピボットテーブル2"が重複していないか、確認してみましょう。

qwer098123
質問者

お礼

お答え有難うございます。 元の記録と見比べたところ誤りがありました。 修正してマクロを実行したところ完全に終了し、予定していたピボットテーブルの二つ目が出来上がりました。 素晴らしいことで、うれしい気持ちでいっぱいです。 本当に有難うございました。今後ともよろしくお願い致します。

その他の回答 (1)

  • OtenkiAme
  • ベストアンサー率77% (69/89)
回答No.1

こんにちは。 > 実行時エラー"13"  型が一致しません  とでてしまいました。 Set ステートメントは、オブジェクトを参照するときに使います。 変数(ソースデータ元、テーブル定義)の右辺は、文字列なので 型が一致しませんとExcelに叱られます。 変数を使うときは、きちんと変数を宣言して使うといいと思います。 ご質問のコードを整理すると次のようになります。 がんばってください。 Dim ソースデータ元 As String Dim テーブル定義 As String With ActiveWorkbook   With .Sheets("操作").Range("F1")     ソースデータ元 = "[売上" & .Value & ".xls]得意先別!ピボットテーブル1"     テーブル定義 = "'[売上" & .Value & ".xls]商品別'!R3C2"   End With   With .Sheets("商品別")     .PivotTableWizard SourceType:=xlPivotTable, _       SourceData:=ソースデータ元, _       TableDestination:=テーブル定義, _       TableName:="ピボットテーブル2"     With .PivotTables("ピボットテーブル2")       .SmallGrid = False       .AddFields RowFields:=Array("得意先コード", "得意先", "データ"), _         ColumnFields:="売上月", PageFields:="商品名"       With .PivotFields("売上数量")         .Orientation = xlDataField         .Caption = "合計 : 売上数量"         .Position = 1         .Function = xlSum       End With     End With   End With End With

qwer098123
質問者

お礼

早速の回答有難うございます。 基礎を勉強せずに質問して失礼しています。 戴いたものを挿入して実行してみました。 ソースデータ元 = "[売上" & .Value & ".xls]得意先別!ピボットテーブル1" テーブル定義 = "'[売上" & .Value & ".xls]商品別'!R3C2" End With With .Sheets("商品別") ここまでは進みましたが、 .PivotTableWizard SourceType:=xlPivotTable, _ SourceData:=ソースデータ元, _ TableDestination:=テーブル定義, _ TableName:="ピボットテーブル2" の所が着色され、マクロが停止してしまいました。 何が原因でしょうか. 教えていただけないでしょうか。

関連するQ&A