2017-07-20 8 views
0

私は既存のブックの2つのワークシートを新しいブックにコピーしようとしています。シートの1つにグラフがあります。これらの図表は依然として古いワークブックを参照し、データソースを新しいファイルに変更したい(2番目のシートはデータシートです)。私は、次のコードを書いて、私はエラーが私はチャートを選択して、データを変更すると、以前のワークブックが活性化されることもできると思いませんので、アクティブなシートがなくなったVBAエラー:取得 '91':オブジェクト変数またはWithブロック変数が設定されていません

NewBook.Sheets(1).Activate 
    ActiveWorkbook.ActiveSheet.ChartObjects("Chart 2").Activate 
    ActiveChart.SetSourceData Source:=NewBook.Sheets(2).Range("B14:E20") 

上記のエラーを取得しています。だから私はこのコードを

NewBook.Sheets(1).Charts("Chart 2").SetSourceData Source:=NewBook.Sheets(2).Range("B5:F11") 

を試してみました、私は今、実行時エラー438を取得しています誰かがこれで私を助けて、私は何が起こっているかを理解する助けてもらえます。ありがとうございます!

答えて

1

Activateのいずれも使用する必要はありません。あなたはそれを取り除こうとしましたが正しいです。わずかな変更が必要です:

NewBook.Sheets(1).ChartObjects("Chart 2").Chart.SetSourceData _ 
    NewBook.Sheets(2).Range("B5:F11") 
関連する問題