2016-11-05 12 views
0

私は毎月、製品ファミリの売上を解析する作業でレポートを作成します。データに使用するレポート内の制限により、ピボットテーブルを使用してレポートに必要なデータを取得することはできません。私は、製品ファミリ別のワークシートにデータをスライスします。各シートの行数は、その製品ファミリーで製品を購入した顧客の数によって異なります。私は現在、合計、サンププロダクトとsumifプロシージャを行う新しいシートを作成するたびに実行するマクロを持っています。さらなる操作のために、各シートのデータの下部にピボットテーブルを追加したいと思います。Excelピボットテーブルマクロを動的範囲の複数のワークシートで使用する

私は何が間違っているのか分かりませんが、私のコードは機能しません。ここでは、次のとおりです。

ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _ 
    "ActiveSheet.Name!R1C1:R231C30", Version:=6).CreatePivotTable TableDestination:= _ 
    "ActiveSheet.Name!R237C3", TableName:="PivotTable21", DefaultVersion:=6 
Sheets("ActiveSheet.Name").Select 
Cells(237, 3).Select 
+0

「ActiveSheet」の使用を避けると、別のシートで作業している間にこのコードを実行するとエラーが発生します。 –

答えて

0
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _ 
    "'" & ActiveSheet.Name & "'!R1C1:R231C30", Version:=6).CreatePivotTable TableDestination:= _ 
    "'" & ActiveSheet.Name & "'!R237C3", TableName:="PivotTable21", DefaultVersion:=6 

Sheets(ActiveSheet.Name).Select 'Seems redundant here? 
Cells(237, 3).Select 

シート名にスペースが含まれている場合にはあなたが単一引用符が必要です。

関連する問題