• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:EXCEL2007 <VBAで散布図の系列の追加>)

VBAで散布図に系列を追加する方法

このQ&Aのポイント
  • Excel2007でVBAを使用して、散布図に新しい系列を追加する方法について教えてください。
  • 現在、系列1がありますが、横軸がA1:A10、縦軸がB1:B10のデータを追加したいです。
  • いくつかの方法を試しましたがうまくいかず、エラーが発生してしまいます。正しいマクロの書き方を教えてください。

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

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

NewSeriesメソッドで系列が追加出来ます。 ActiveChartがグラフシートならセルは持っていません。 よって .XValues = Range("A1:A10") は成立しません。 元データがあるシート名を明記してください。 ≪例1≫ With ActiveChart.SeriesCollection.NewSeries   .XValues = Sheets("Sheet1").Range("A1:A10")   .Values = Sheets("Sheet1").Range("B1:B10") End With ≪例2≫ With Charts("Graph1").SeriesCollection.NewSeries   .XValues = Sheets("Sheet1").Range("A1:A10")   .Values = Sheets("Sheet1").Range("B1:B10") End With ≪例3≫ With Charts(1).SeriesCollection.NewSeries   .XValues = Sheets("Sheet1").Range("A1:A10")   .Values = Sheets("Sheet1").Range("B1:B10") End With

t000506g
質問者

お礼

そうですね。Sheets("Sheet1").を加えないとだめですね。 いつも的確なご回答ありがとうございます。

その他の回答 (1)

  • end-u
  • ベストアンサー率79% (496/625)
回答No.1

シート上グラフの場合で、 既に系列1があって、グラフを選択して標準モジュールの以下コードを実行すると >ActiveChart.SeriesCollection.Add Range("A1")   '仮に作る >With ActiveChart.SeriesCollection(2) >  .XValues = Range("A1:A10") >  .Values = Range("B1:B10") >End With これでもうまく行きます。 どの行でエラーが出てますか? 以下も試してみてください。 Sub test()   With ActiveSheet.ChartObjects(1).Chart.SeriesCollection.NewSeries     .XValues = Range("A1:A10")     .Values = Range("B1:B10")   End With End Sub

t000506g
質問者

お礼

すみません、埋め込みグラフではありませんでした。 埋め込みグラフのシートとデータのシートが同じであれば上記でうまくいくということですね。 ご回答どうもありがとうございます。

関連するQ&A