私は、Excel (2010) のピボット グラフとピボット テーブルに関してあまり詳しくない一部のユーザーのために、毎日更新される一連のレポートを作成しています。データベースから既に自動化されたデータ プルからのデータがありますが、その情報を有効にする (そしてより使いやすくする) ために、VBA を使用してピボットを生成したいと考えています。
ピボット テーブルは既に正常に生成されており、手動で操作して関連するグラフを作成できます。テーブルを (すべて 1 枚のシートに) 作成するときに、それらにラベルを付けています (それが問題の解決に役立つ場合)。問題が発生しているのは、ピボット グラフの作成、具体的にはデータ ソースの設定です。
グラフは、存在するデータに応じてサイズが変化するピボットに基づいているため、固定範囲をソースとして割り当てることはできません。PTを範囲として割り当てることができない限り、名前を割り当てる範囲がまだわからないため、名前付き範囲と同じ問題があります。
私はこのようなことを試しましたが、実際の「Range」オブジェクトを見ていなかったので、うまくいきませんでした:
Dim MyChartObject As ChartObject
Dim MyChart As Chart
'These variables are assigned elsewhere in the code.
Set MyChartObject = wksMainCharts.ChartObjects.Add( _
iChartLeft, iChartTop, iChartWidth, iChartHeight)
Set MyChart = MyChartObject.Chart
MyChart.SetSourceData wksMainPivot.PivotTables(PivotName).SourceData 'Fails; requires Range object
'More code to follow...
これが間違った範囲の文字列表現であることは知っていますが、自分で把握できるもので遊んでいました。
基本的に私が欲しいのは、指定された範囲でピボットテーブルを見つけようとするこの質問の反対です。this questionも確認しましたが、探しているものとはまったく異なります(回答も提供されていません)。
また、ここで PT の範囲を取得する方法を尋ねています。これを知るのは興味深いと思いますが、最終的にはピボット チャートを作成したいだけです。私は始めました、私もそれに対して完全にオープンです。