[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『VBAでピボット作成を書いているのですが・・・』(ぴらりん)
こんにちは。行き詰まっているので教えてください。
VBAにてピボットを作成しようとしているのですが、デバックが出て先へ進めません。
なぜ、デバックが出ているのか、判断できなく書き込みしてます。
下記が作成したものです。マクロから編集しています。
Sub データ編集()
'
' Macro2 Macro
' マクロ記録日 : 2006/5/8 ユーザー名 :
'
Dim MyRow As Long MyRow = Range("A65536").End(xlUp).Row
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _ "R1C1:R" & MyRow & "C14").CreatePivotTable TableDestination:="", TableName:= _ "ピボットテーブル1"
ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1) ActiveSheet.Cells(3, 1).Select With ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("小売店") .Orientation = xlRowField .Position = 1 End With With ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("Crd") .Orientation = xlColumnField .Position = 1 End With ActiveSheet.PivotTables("ピボットテーブル1").AddDataField ActiveSheet.PivotTables( _ "ピボットテーブル1").PivotFields("受注数の合計"), "合計 / 受注数の合計", xlSum ActiveSheet.PivotTables("ピボットテーブル1").AddDataField ActiveSheet.PivotTables( _ "ピボットテーブル1").PivotFields("配分数の合計"), "合計 / 配分数の合計", xlSum Range("B4").Select With ActiveSheet.PivotTables("ピボットテーブル1").DataPivotField .Orientation = xlColumnField .Position = 2 End With
End Sub
教えていただけると助かります。
よろしくお願いします。
ぱっと見、気になるのは下記で元となるデータのシートが指定されていない点。 SourceData:= "R1C1:R" & MyRow & "C14" 通常は SourceData:="Sheet1!R1C1:R10C2" などとシート名も含めた形で記録されます。 シート指定がない場合はアクティブシートのセル範囲と解釈されるようです。 不適当なシートが選択されていると、たとえばデータのない新規シートでは 「実行時エラー’1004 そのピボットテーブルのフィールド名は正しくありません。ピボットテーブルレポート を作成するにはラベルのついた列でリストとして編成されたデータを使用する必要が あります。ピボットテーブルのフィールド名を変更する場合は、フィールドの新しい 名前を入力する必要があります。」 のエラーメッセージが表示され、「デバッグ」ボタンをクリックすると、 「ActiveWorkbook.PivotCaches.Add」のステートメントで停止しているのが確認できます。 肝心なのは上記のように 「どんなエラーメッセージが表示されるか」 「デバッグボタンを押したときにどの行で停止しているか」なので、 確認して上記要件について追加書き込みしてください。
「デバッグする」とはいいますが、「デバッグが出る」とは表現しません。 「Bugを探し、取り除くこと」が[ぴらりん]さんの投稿の目的ですが、 「デバッグが出た!」と言う事実には目的を達するための情報が含まれていません。 (みやほりん)(-_∂)b
いろいろ見ていたら、解決できてしまいました。
単純なミスでした。なにせVBA初心者なので、失礼いたしました。
また何かありましたら、宜しくお願いします。
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.