- ベストアンサー
VBAで散布図に系列を追加する方法
- Excel2007でVBAを使用して、散布図に新しい系列を追加する方法について教えてください。
- 現在、系列1がありますが、横軸がA1:A10、縦軸がB1:B10のデータを追加したいです。
- いくつかの方法を試しましたがうまくいかず、エラーが発生してしまいます。正しいマクロの書き方を教えてください。
- みんなの回答 (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
その他の回答 (1)
- end-u
- ベストアンサー率79% (496/625)
シート上グラフの場合で、 既に系列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
お礼
すみません、埋め込みグラフではありませんでした。 埋め込みグラフのシートとデータのシートが同じであれば上記でうまくいくということですね。 ご回答どうもありがとうございます。
お礼
そうですね。Sheets("Sheet1").を加えないとだめですね。 いつも的確なご回答ありがとうございます。