|    | 
     ▼ドカ さん: 
>E列の下に向かってデータを追加しています。 
>データが追加される度に、その隣に書いてあるグラフも下に移動するようにしたいです。 
 
面白そうだったので、ぼくもトライしてみました。 
1.まず、セルの(E列の)値が変化したときに、何か処理をするには 
 シートのChangeイベントを拾って操作します。 
2.E列のセルに入力(または値クリア)があったとき、新しいデータ範囲を 
 グラフの系列1に書き込むには 系列式の中の値軸部分を変更してやります。 
3.グラフの移動は 更新前の元データ範囲の最終セルのTop座標と  
 グラフのTopとの差(diff) をおぼえておき、更新後の最終セルから 
 更新後のグラフ位置を算出して移動します。 
 
'------------- 以下を対象シートのシートモジュールに書いてください 
Option Explicit 
 
Private Sub Worksheet_Change(ByVal Target As Range) 
  If Target.Column <> 5 Then Exit Sub 
   
  Dim r As Range, c As Range 
  Dim zz As String, ss As String 
  Dim diff As Double 
   
  With Me.ChartObjects(1) 
    zz = .Chart.SeriesCollection(1).Formula '現在の系列式 
    ss = Split(zz, ",")(2) 
    Set r = Me.Range(ss)  '現在の元データ範囲 
    diff = r(r.Count).Top - .Top 
    Set r = Excel.Range(r(1), r(1).End(xlDown)) '更新範囲 
    .Chart.SeriesCollection(1).Formula = _ 
      Replace(zz, ss, r.Address(External:=True)) 'セット 
    .Top = r(r.Count).Top - diff '       グラフ移動 
  End With 
 
End Sub 
 | 
     
    
   |