dポイントプレゼントキャンペーン実施中!

マクロを記録し、それを実行しようとしたのですが、途中で下記のようなエラーが出てしまいます。

実行時エラー '1004':
PivotTableクラスのPivotFieldsプロパティを取得できません。

黄色い矢印がとまっているのは下記の箇所です。

→With ActiveSheet.PivotTables("ピボットテーブル").PivotFields("送付先")←

自分なりに調べてみたのですが、選択範囲("E2:E1288"等の箇所)が違うデータでマクロを実行するとエラーになるのだと思っているのですが、選択範囲が毎回変わるのに対応できるコードの変更の仕方が分かりません。

もしよろしければ、アドバイスを頂けませんでしょうか。

コードの全体は下記になります。

Sheets("本体").Select
Range("E1").Select
ActiveCell.FormulaR1C1 = "品目分け"
Range("E2").Select
ActiveCell.FormulaR1C1 = "=LEFT(RC[-2],1)"
Range("E2").Select
Selection.AutoFill Destination:=Range("E2:E1288")
Range("E2:E1288").Select
Sheets("計算結果").Select
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase,SourceData:= _
"本体!C1:C5").CreatePivotTable TableDestination:="[計算用.xls]計算結果!R3C1", _
TableName:="ピボットテーブル",
DefaultVersion:=xlPivotTableVersion10
ActiveSheet.PivotTables("ピボットテーブル").ColumnGrand = False
With ActiveSheet.PivotTables("ピボットテーブル").PivotFields("送付先")
.Orientation = xlRowField
.Position = 1
End With
With ActiveSheet.PivotTables("ピボットテーブル").PivotFields("品目分け")
.Orientation = xlColumnField
.Position = 1
End With
Range("E4").Select
ActiveSheet.PivotTables("ピボットテーブル").AddDataField
ActiveSheet.PivotTables( _"ピボットテーブル").PivotFields("数量"), "データの個数 / 数量", xlCount
ActiveSheet.PivotTables("ピボットテーブル").PivotFields("データの個数/ 数量").Function = _xlSum
With ActiveSheet.PivotTables("ピボットテーブル").PivotFields("品目分け")
.PivotItems("(空白)").Visible = False
End With
Range("A1").Select
End Sub

A 回答 (1件)

当方Excel2002で使用しているコードです



Set 元データ = Worksheets("元シート").Range("a1").CurrentRegion
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
元データ).CreatePivotTable TableDestination:="", TableName:= _
"ピボット1", DefaultVersion:=xlPivotTableVersion10


提示コードを拝見したところ、「本体」シートの "E2:E1288" を選択していますが
SourceData:= "本体!C1:C5"
となっています。
いずれにしても1列しか選択していないので「送付先」が存在していないように思います
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
参考にさせて頂きます。

お礼日時:2009/07/27 20:24

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