| 
    
     |  | ▼ts22 さん: 
 最初の範囲[シート1!R3C1:R21C1]を rng とすると、
 次の範囲は rngを右へ1列シフトしたものなっています
 その次の範囲も また同様です。
 
 ActiveChart.SeriesCollection(1).XValues = rng
 ActiveChart.SeriesCollection(1).Values = rng.Offset(,1)
 ActiveChart.SeriesCollection(2).XValues = rng.Offset(,2)
 ActiveChart.SeriesCollection(2).Values = rng.Offset(,3)
 
 > for i=1 to 2とした場合、どのように指示をすればよいのでしょうか?
 
 Sub Test()
 Dim i As Long, j As Long
 Dim rng As Range
 
 Set rng = Worksheets("シート1").Range("A3:A21")
 With ActiveChart.SeriesCollection
 For i = 1 To .Count
 .Item(i).XValues = rng.Offset(, j)
 .Item(i).Values = rng.Offset(, j + 1)
 j = j + 2
 Next
 End With
 End Sub
 
 といった感じで、範囲そのものを 系列の XValues,Valuesプロパティに
 渡すことができます。
 
 |  |