エクセルのピボットテーブルのVBAで、データ範囲の選択時に前の範囲を使用したい時
同一ブック内で同一データ範囲を基に、ピボットテーブルを2つ作成する時、
2つ目のピボットテーブルの範囲選択の時、初めに作ったテーブルを利用する時の
表現の仕方を教えて下さい。
尚作られるブック名前は、あるセルに指定した名前の一部を読み込むものとします。
エクセル2000です。
初めに作ったピボットテーブルの名前は "ピボットテーブル1"です。
自動記録した結果は、ブック名を読み込まず "売上1-4"とした時下記(1)のようになりました。
(1)2つ目のテーブルを作る際の自動記録結果
Sheets("商品別").Select
ActiveSheet.PivotTableWizard SourceType:=xlPivotTable, SourceData:= _
"[売上1-4.xls]得意先別!ピボットテーブル1", TableDestination:= _
"'[売上1-4.xls]商品別'!R3C2", TableName:="ピボットテーブル2"
ActiveSheet.PivotTables("ピボットテーブル2").SmallGrid = False
ActiveSheet.PivotTables("ピボットテーブル2").AddFields RowFields:=Array("得意先コード", _
"得意先", "データ"), ColumnFields:="売上月", PageFields:="商品名"
With ActiveSheet.PivotTables("ピボットテーブル2").PivotFields("売上数量")
.Orientation = xlDataField
.Caption = "合計 : 売上数量"
.Position = 1
.Function = xlSum
End With
これをブック名を読み込んだかたちで下記(2)のように書いたところ
Set ソースデータ元 = "[売上" & Range("F1") & ".xls]得意先別!ピボットテーブル1"の所でとまって
実行時エラー"13" 型が一致しません とでてしまいました。
(2)読み込み型で作成
Sheets("商品別").Select
With ActiveWorkbook
With Sheets("操作") '操作というシートのセル "F1"にブックの名前の一部を示してある
Range("F1").Select
Set ソースデータ元 = "[売上" & Range("F1") & ".xls]得意先別!ピボットテーブル1"
Set テーブル定義 = "'[売上" & Range("F1") & ".xls]商品別'!R3C2"
End With
With .Range("B1").Select
.PivotTableWizard SourceType:=xlPivotTable, SourceData:=ソースデータ元, TableDestination:=テーブル定義, TableName:="ピボットテーブル2"
ActiveSheet.PivotTables("ピボットテーブル2").SmallGrid = False
ActiveSheet.PivotTables("ピボットテーブル2").AddFields RowFields:=Array("得意先コード", _
"得意先", "データ"), ColumnFields:="売上月", PageFields:="商品名"
With ActiveSheet.PivotTables("ピボットテーブル2").PivotFields("売上数量")
.Orientation = xlDataField
.Caption = "合計 : 売上数量"
.Position = 1
.Function = xlSum
End With
End With
お礼
ありがとうございました。