2017-11-30 11 views
0

テーブル内の各行(x、y)がシリーズ、つまり1つ1つのポイントを表すように自動的に散布図を作成する、シリーズ。私はこれまでのところ私のコードの下に添付します。しかし、私はそれを実行するために来るとき、それは、次の実行時エラーVBA - 各シリーズがデータポイントを表すグラフを作成する

「実行時エラー 『438』で失敗します。

オブジェクトはこのプロパティまたはメソッドをサポートしていません

Sub CreateChart() 
Dim NPOINTS As Integer 
Dim NVAL(1000) As Range, XVAL(1000) As Range, YVAL(1000) As Range 

Sheets("Scenario").Select 
Range("B4").Select 
NPOINTS = Worksheets("Scenario").Range(Selection, Selection.End(xlDown)).Rows.Count 
Set Scenario = Worksheets("Scenario") 
ActiveSheet.Shapes.AddChart2(240, xlXYScatter).Select 

NVAL0 = "B3" 
XVAL0 = "C3" 
YVAL0 = "D3" 

For i = 1 To NPOINTS 

     Set NVAL(i) = Cells(Range(NVAL0).Offset(i, 0).Row, Range(NVAL0).Column) 
     Set XVAL(i) = Cells(Range(XVAL0).Offset(i, 0).Row, Range(XVAL0).Column) 
     Set YVAL(i) = Cells(Range(YVAL0).Offset(i, 0).Row, Range(YVAL0).Column) 

     ActiveChart.SeriesCollection.NewSeries 
     ActiveChart.FullSeriesCollection(i).Name = NVAL(i) 
     ActiveChart.FullSeriesCollection(i).XValues = XVAL(i) 
     ActiveChart.FullSeriesCollection(i).YValues = YVAL(i) 

Next 

終了私が間違っているんだ?

答えて

1

を散布図におけるy値がYValuesValuesにない格納されているので、あなたが変更する必要があるサブ

それに応じて最後の行。

+0

私はそれが何か簡単だろうと知っていた。ありがとうございました! – OB1

関連する問題