| 
    
     |  | お世話になります。ヒデアキです。 
 申し訳ありません。質問の仕方が悪かったです。
 
 >CCnt = .ChartObjects.Count
 >   With .Cells(CCnt * 10, 2)
 このようにグラフの場所を変えたように、
 グラフの元データの参照範囲も変えたいのですが、
 Rangeだとうまくいきません。
 
 アドバイスよろしくお願致します。
 
 
 ▼Kein さん:
 >高さの設定だけでよいのですね ?
 >
 >Sub Ch_Copy()
 >  Dim Lp As Single, Tp As Single, Hp As Single
 >  Dim CCnt As Long
 >  Dim PltR As Range
 >
 >  Sheets("MeasData").ChartObjects("グラフ 13").Duplicate _
 >  .Chart.Location xlLocationAsObject, "HistRead"
 >  With Sheets("HistRead")
 >   CCnt = .ChartObjects.Count
 >   With .Cells(CCnt * 10, 2)
 >     Lp = .Left: Tp = .Top: Hp = .Resize(5).Height
 >   End With
 >   Set PltR = Union(.Range("C2:E16"), .Range("H2:J16"))
 >   With .ChartObjects(CCnt)
 >     .Left = Lp: .Top = Tp: .Height = Hp
 >     .Chart.SetSourceData PltR
 >   End With
 >   .Activate
 >  End With
 >End Sub
 >
 >幅も設定するなら Wp = .Resize(, ?).Width を追加し、With .ChartObjects(CCnt)
 >のブロック内で .Width = Wp とします。 "?" は任意の列数。変数 Wp の宣言も
 >追加を忘れずに。
 
 |  |