2009-06-01 5 views
0

私は複数のピボットグラフを持っている複数のピボットチャートSetSourceDataエラー

私は次のコードを使用してVBAでこれらのチャートを生成しようエクセル2002で、別のワークシート上の自分のピボットテーブルを持つ各:

Set cht = Charts.Add(After:=Worksheets("Setup")) 
With cht 
    ' we use named ranges here 
    .SetSourceData Source:=range(tblName) 
    .Name = chtName 

....

ここで、tblNameは数行前に作成したばかりの名前付き範囲ですが、テーブルが1つしかなくチャートが生成されてもコードは正常に実行されますが、実行時エラー1004が表示されます。ピボットグラフレポートは変更できません... "ピボットテーブルとチャートが次々に設定されます。

[挿入] - > [名前] - > [定義]に進むと、作成された名前付き範囲のリストが正しいようです。

ダイナミックレンジを持つピボットグラフのソースデータを正しく設定する方法は何ですか?

+0

エクセルファイル(同じ入力/出力と例外を持つダミーファイル)をアップロードすることは可能ですか? – shahkalpesh

答えて

0

コードのこの作品は、あなただけの1枚あたりのピボットテーブルやピボットテーブルは、セルA1に開始していることを前提としてい特定のワークシート名もそのエラーを引き起こすようです。

+0

SetSourceDataメソッドをわずかに2回異なる構文。ソースは最初のパラメータであり、唯一必要なものなので、両方の行が同じ結果を返すようにしてください。 – barrowc

+0

呼び出しが良いです。それは後に元のコードで実際に修正されたタイプミスでした。 – TheObserver

0

あなたは一度にあまりにも多くのことをやろうとしているかもしれないと思います。

データソースが変更される場合は、ピボットグラフは使用しません。

実行時にグラフを作成します(例のように)。ピボットテーブルの結果のチャートを作成します。また、に「Worksheets.Count」を変更...

Sheets(wsName).Select 
Range("A1").Select 
Set cht = Charts.Add(after:=Worksheets(Worksheets.Count)) 
With cht 
    .SetSourceData Sheets(wsName).Range("A1") 
    .Name = chtName 

を:

+0

ピボット・チャートを使用することのポイントはすべて、ピボット・テーブルを作成することができました。グラフを作成する順序は次のとおりです。ピボットテーブルにデータをプルし、そのピボット範囲に名前付き範囲を追加し、ピボットテーブルからグラフを作成しますが、作成した名前付き範囲で参照します。 – TheObserver

関連する問題