- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:データを書きだす→範囲を指定してピボットテーブル)
Excel VBAでピボットテーブルを作成する際に問題が発生する理由
このQ&Aのポイント
- Excel VBAを使ってデータを書き出し、範囲を指定してピボットテーブルを作成する際に、実行時エラーが発生します。
- エクセルのバージョンが2003または2007であり、既に同じ名前のピボットテーブルが存在するため、エラーが発生します。
- このエラーが発生した後でも、デバッグを使用してコードを最後まで実行することは可能です。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
お示しのコードでは、 ●名前を付ける範囲の参照が相対参照になっています。ブックの使い方にもよるのかもしれませんが、「$」がなくても大丈夫ですか。 ●「Workbooks.Add」により作製されるブックがアクティブになり、SourceData も、このブックから取っているようです。 また、「TableDestination:=""」と書いてある箇所があります。 「Workbooks("ファイル名").Activate」とか、「Worksheets("シート名").Activate」みたいな記述は入れなくてもよいのでしょうか。 参考 URL の例は、1 ファイル内で完結している処理です。「Sheets.Add」を記述することでそのシートがアクティブになっています。 ● CreatePivotTable メソッドと PivotTableWizard メソッドが併記されています。 同じシート上に両者がピボットテーブルを作ることになるので、そのエラーメッセージが出ているのだと思います。 片方の記述のみを残し、他方はプロシージャから削除します。 両者はどちらもピボットテーブルを作りますが、どちらを選ぶかは概ね、好みの問題のようです。 後者では OLE DB というアクセス方法によるデータが使えないとヘルプにあるくらいで、致命的な差はないようです。
お礼
ありがとうございます。