|
▼ドカ さん:
>D列にデータがある場合について
>(win7 office2003にて)
>
>D列とE列のデータを使って、折れ線グラフを2本書いたときは、グラフは移動しませんでした。
そしたら、
D列か、E列かでセル変更があったら、という条件に変えて、
グラフの系列の数、ループして、変更のあった列がグラフ表示系列になっている
系列だけ更新する----というのはどうでしょ
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim myCol As Long
myCol = Target.Column
Select Case myCol
Case 4, 5
Case Else
Exit Sub
End Select
Dim r As Range, c As Range
Dim zz As String, ss As String
Dim diff As Double
Dim Ser As Series
With Me.ChartObjects(1)
For Each Ser In .Chart.SeriesCollection
zz = Ser.Formula '現在の系列式
ss = Split(zz, ",")(2)
Set r = Me.Range(ss) '元データ範囲
If r.Column = myCol Then
diff = r(r.Count).Top - .Top
Set r = Excel.Range(r(1), _
Cells(Me.Rows.Count, r.Column).End(xlUp)) '更新範囲
Ser.Formula = Replace(zz, ss, r.Address(, , , True)) 'セット
.Top = r(r.Count).Top - diff 'グラフ移動
Exit For
End If
Next Ser
End With
End Sub
|
|