• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel 2007 <VBAでグラフの操作>)

Excel 2007 VBAでグラフの操作

このQ&Aのポイント
  • Excel 2007のVBAを使用して、既存のグラフを修正する方法を調べています。具体的には、1つのシリーズを削除し、残りのデータ範囲(X軸の値)を再設定する方法について検索しています。しかし、実行時エラーが発生しています。このマクロが正しく動作するかどうかをご確認いただけますか?
  • Excel 2007のVBAを使って、既存のグラフを修正する方法を調べています。具体的には、1つのシリーズを削除し、残りのデータ範囲(X軸の値)を再設定する方法について説明してください。また、実行時エラーが発生しているので、何が原因であるかも教えてください。
  • Excel 2007のVBAでグラフを修正する方法を調べています。具体的には、1つのシリーズを削除し、残りのデータ範囲(X軸の値)を再設定する方法について知りたいです。ただし、以下のエラーが発生しており、原因がわかりません。「実行時エラー '1004': 'Cells'メソッドは失敗しました: '_Global'オブジェクト」このエラーの解決方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • xls88
  • ベストアンサー率56% (669/1189)
回答No.1

CellsにもSheets("Sheet1")をかけてみてください。 With Sheets("Sheet1") Set MyRng = .Range(.Cells(2, 2 * n + 3), .Cells(R, 2 * n + 3)) End With あと XValuesはX軸(項目軸)データになります。 Y軸(数値軸)データは、Valuesです。 大丈夫ですか?

t000506g
質問者

お礼

ご回答ありがとうございます。 まず、追加の回答に関しては、投稿後に気付きましたが、単純ミスです。 (ネット公開用にいろいろ修正したため、オリジナルマクロと多少ちがっています) 今手元にファイルがないのですが、「CellsにもSheetsを追記する」でできたました! さっきは、あるグラフシート上でマクロを実行していてエラーになっていたのですね。 あと 最後のご指摘についてですが、今回のマクロがやらんとしていることは、  ・各グラフに系列が2つある  ・系列1は本来ならば横軸にしたいものが系列1として縦軸になっている  ・系列2は上で言う系列1を横軸にしたときの縦軸の値である  ・そこで、系列1を消して系列2のみを残し、系列2の横軸に系列1の縦軸の値を適用する という内容です。 どうもありがとうございました!

その他の回答 (2)

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.3

閉じられないのは未だ問題があるのですか? 問題があるのなら遠慮なく捕捉で質問してください。 コードを提示される場合は加工せずに現状のままで提示してください。

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.2

追加です。 訂正前のコードで説明しますが n = 10 で、Chartsが10個あることになっています。 ところが Set MyRng = Sheets("Sheet1").Range(Cells(2, 2 * n + 3), Cells(R, 2 * n + 3)) ではデータ範囲が固定になっています。 Charts(i).SeriesCollection(1).XValues = MyRng で、Charts(i)で対象グラフシートをずらしていますが、同じデータ範囲がセットされます。 同じグラフシートを10個作るのですか?

関連するQ&A