|    | 
     ▼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プロパティに 
渡すことができます。 
 | 
     
    
   |