
一定期間内の数量と価格をチェックするために
エクセルでマクロを組みましたが下記のエラーが出てしまいます。
実行時エラー ’1004’
Worksheet クラスのPivot tablesプロパティを取得できません
ソースは
'
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"データ!R1C1:R1000C19").CreatePivotTable TableDestination:= _
"[価格.xls]ワーク1!R1:R65536", TableName:="ピボットテーブル1",
DefaultVersion:= _
xlPivotTableVersion10
ActiveSheet.PivotTables("ピボットテーブル1").AddFields RowFields:=Array("商品CD",
_
"データ")
With ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("数量")
.Orientation = xlDataField
.Caption = "合計 / 数量"
.Position = 1
.Function = xlSum
End With
With ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("単価")
.Orientation = xlDataField
.Caption = "最大値 / 単価"
.Function = xlMax
End With
Range("B1").Select
With ActiveSheet.PivotTables("ピボットテーブル1").DataPivotField
.Orientation = xlColumnField
.Position = 1
End With
End Sub
です。
ストップしているのは↓の部分と思われます。
ActiveSheet.PivotTables("ピボットテーブル1").AddFields RowFields:=Array("商品CD",
_
"データ")
どうすればエラーが回避できるでしょうか。
ご教授お願いします。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
こんにちは。
>ストップしているのは↓の部分と思われます。
>
>ActiveSheet.PivotTables("ピボットテーブル1").AddFields RowFields:=Array("商品CD",
との事なので、おそらく『ActiveSheet』が曲者なのでしょう。
PivotTable作成時に、作成先である"ワーク1"がActiveになっていないのではないでしょうか?
"データ"シートと"ワーク1"シートは"価格.xls"ブック内にあるのですね?
その前提で、ActiveWorkbookやActiveSheetなど、
状況に依存するようなBookやSheetの指定を避けるとして、
With Workbooks("価格.xls").PivotCaches.Add(SourceType:=xlDatabase, _
SourceData:="データ!R1C1:R1000C19")
With .CreatePivotTable(TableDestination:="ワーク1!R1C1", _
DefaultVersion:=xlPivotTableVersion10)
.AddFields RowFields:=Array("商品CD", "データ")
With .PivotFields("数量")
.Orientation = xlDataField
.Caption = "合計 / 数量"
.Function = xlSum
End With
With .PivotFields("単価")
.Orientation = xlDataField
.Caption = "最大値 / 単価"
.Function = xlMax
End With
With .DataPivotField
.Orientation = xlColumnField
.Position = 1
End With
End With
End With
...などとしてみてはどうでしょう。
また、データ元範囲は"データ!R1C1:R1000C19"...のように固定でよいのでしょうか?
可変範囲に対応させるなら
SourceData:=Sheets("データ").Range("A1").CurrentRegion
...などとするか、
毎回新規にPivotTableを作成し直すのではなく、
可変範囲の名前定義を使って、更新だけ行うようにする事も検討されてはいかがでしょう。
(参考)
http://oshiete1.goo.ne.jp/qa2097393.html
また、これは余計な事かもしれませんが、本題材であれば
http://oshiete1.goo.ne.jp/c232.html
Office系ソフトカテゴリのほうが良かったかもしれませんね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) excel ピポットテーブルの更新について 1 2022/05/13 16:12
- Excel(エクセル) 【マクロ】スクショ印刷がうまく動かない件 5 2022/12/06 17:37
- Visual Basic(VBA) 改行ごとに行を追加し、数量を分割 4 2023/07/11 16:39
- Visual Basic(VBA) 追記する列を増やしたい 2つのデータを検索・照合して元データにないデータを下記マクロで商品名を追記し 9 2022/10/05 10:50
- Visual Basic(VBA) エラーコード1004 6 2022/06/09 14:12
- Excel(エクセル) EXCEL マクロで行を挿入して貼り付けようとするとエラーになる。 2 2022/05/24 09:43
- Visual Basic(VBA) マクロで最終行を取得してコピーしたい 3 2022/04/06 19:07
- Visual Basic(VBA) ExcelVBAのマクロについて。 9 2022/05/04 14:50
- Visual Basic(VBA) エクセルVBAで以下のようなコードを書いたらエラーになりました。何処が間違っているの教えて? 1 2023/02/10 18:30
- Visual Basic(VBA) vbaのvlookup関数エラー原因を教えていただけないでしょうか。 3 2022/04/25 16:16
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
スタライズとは、どういう意味...
-
Access 外部データ インポー...
-
値がこの列の整合性制約に違反...
-
エクセルから、パワーポイント...
-
REST APIでkintoneのレコード追...
-
Accessでタブ区切りのテキスト...
-
型 varchar から型 numeric へ...
-
エクセルのフォームについて(...
-
SQL Serverとは?
-
VBAかSQL?
-
クエリをキャンセルしたいので...
-
データベースの2GBって・・・?
-
ハイフン無しの電話番号データ...
-
データベースの最適化をマクロ...
-
ODBC経由の処理が遅い
-
CSEでDB接続しようとすると...
-
DB2 UDBって?
-
DB2のログインについて
-
マクロでデータベースの最適化...
-
AndroidからのAccessデータベー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
キャッシュとバッファの違いは?
-
スタライズとは、どういう意味...
-
Access 外部データ インポー...
-
値がこの列の整合性制約に違反...
-
SQL Server にファイルを登録、...
-
C#でint型をIntPtr型に変換した...
-
LVMでHDDが壊れた時の対応
-
エクセルを取引先に渡したら何...
-
EXCELの最大データ数
-
数字とテキストが入り混じるデ...
-
自作Androidアプリのデータ引き...
-
CSVファイル取込時の文字化けに...
-
Accessでタブ区切りのテキスト...
-
AS400へAccessから接続す...
-
顧客データの結合
-
エクセルで帳票システムを・・・
-
Thunderbirdのインポートの処理...
-
BINファイル破損データの復元方法
-
ビット数とデータ幅について
-
VB6.0 エクセルシートにデータ...
おすすめ情報